国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Wordpress平滑遷移至SupeSite - LittleHZ[葉歆昊] - litt...

Wordpress平滑遷移至SupeSite [ 原創(chuàng) ]

2009年05月29 22:51:29 by littlehz

0條評論 查看85次

Wordpress是非常優(yōu)秀的博客系統(tǒng),完全的國際化utf-8編碼多國語言包、豐富的插件支持、豐富的主題包(模板)、詳盡的開發(fā)人員手冊、完善的開源社區(qū)支持,因此非官方的Wordpress模板、插件也有非常好的兼容性、符合W3C標準。所以,雖然是博客系統(tǒng),但借助于豐富的插件,仍可以實現(xiàn)幾乎所有CMS系統(tǒng)能實現(xiàn)的功能。不過非常嚴重的缺點是效率非常低,即時安裝了緩存插件以及做大量的服務器端緩存。文章表容量在100條記錄以內(nèi)時,也慢到0.x秒的查詢速度(一個簡單的頁面都會調(diào)用至少12次數(shù)據(jù)庫查詢,PHP的函數(shù)嵌套就非常多層了),這在PHP程序中是非常緩慢的;當數(shù)據(jù)庫文章表的容量在10000條以上時,首頁執(zhí)行時間達到恐怖的5.x秒級別??!

Supesite是康盛創(chuàng)想商業(yè)公司的CMS產(chǎn)品,選中它的最主要原因是效率非常高,在幾乎不做緩存的情況下,一百萬條的數(shù)據(jù)首頁執(zhí)行時間都能在0.1x秒級別!初始功能豐富,適合國內(nèi)初學的站長使用。因以前是封閉軟件,前段時間剛開源,無開發(fā)人員手冊,無任何插件接口,無法開發(fā)插件,現(xiàn)階段要修改supesite的邏輯功能只能修改supesite源程序。使用supesite系統(tǒng)的大多是水平不高的站長,建幾個采集資訊的垃圾站,開源社區(qū)支持不豐富,就連官方的很多代碼都不符合W3C標準,所以也別指望目前能有誰開發(fā)出非常優(yōu)秀的supesite插件和模板。不過如果康盛創(chuàng)想能把Supesite像Discuz!論壇那么重視,我相信Supesite能做到國內(nèi)非常優(yōu)秀的CMS平臺,畢竟他們是有實力開發(fā)的,只是目前不夠完善。有朋友要問為什么我不選諸如國外的Joomla!、Dupal或者PHPCMS、DedeCMS等其他CMS平臺。這里簡單說一下國外的CMS平臺和Wordpress的優(yōu)缺點相差不大,國內(nèi)的PHPCMS和DedeCMS確實做的很優(yōu)秀,但是我主要看到了SupeSite的前景可能會比這兩個國內(nèi)CMS更好。

好了,下面開始說遷移步驟,以Wordpress 2.7遷移至Supesite 7.0(UTF-8)為例,注:寫詳細內(nèi)容太麻煩,只寫實現(xiàn)方法,請朋友們自己實現(xiàn),如確實有困難可聯(lián)系本人指導。

分析:依靠Wordpress(以下簡稱WP)和Supesite(以下簡稱SS)自己的程序邏輯,其實需要遷移的數(shù)據(jù)無非就是文章(資訊)、文章附件(圖片等)、文章評論、注冊用戶資料、主題模板,最后注意URL鏈接,盡量讓搜索引擎已收錄的鏈接能成功跳轉(zhuǎn)到新系統(tǒng)上,不被搜索引擎降分。

在文章資訊和文章附件少的時候,完全可以手動從WP復制粘貼文章到SS中,一篇一篇文章重新添加。

一、確保原SupeSite站點可訪問。

例如本站在5月31日之前http://www.littz.cn是wordpress系統(tǒng),所以原wordpress站點是http://www.littz.cn。

如果本機localhost調(diào)試,也建議以基于多域名的虛擬主機方式來配置站點,這樣后期修改量更小。

二、搭建新的UCenter(簡稱UC)和臨時SupeSite平臺。

注意是UCenter,不是UCenterHome。UCenter為康盛產(chǎn)品平臺的用戶中心,UCenter為SNS交友產(chǎn)品,UCenter必需,UCenterHome非必須。例如本站UC為http://uc.littz.cn,臨時SS為http://temp.littz.cn。SupeSite安裝方法請參考其官方網(wǎng)站http://www.discuz.net/thread-1239276-1-1.html

三、用SS采集器采集原WP文章。

使用SS采集器自己添加規(guī)則按分類多次采集http://www.littz.cn上的文章到臨時SS站點http://temp.littz.cn對應的分類中。

四、自寫PHP程序修改SS文章ID、發(fā)布時間與WP上對應文章的一致。

因SS采集器采集到的文章ID為自動增1,發(fā)布時間為當前時間,無法保持與WP系統(tǒng)下的對應文章ID和發(fā)布時間一致。所以此時應自寫PHP程序,思路為:

1、首先讓SS數(shù)據(jù)庫中supe_spaceitems、supe_spacenews和supe_attachments表的itemid、nid每個增加10000。目的是修改SS文章ID時不會出現(xiàn)ID沖突的情況。

2、每次傳遞一個ID給自寫程序,該程序利用此ID到WP的數(shù)據(jù)庫wp_posts表(WP文章表)中查詢post_ID主鍵,得到post_title(文章標題,賦值給$title變量),得到post_date(文章發(fā)布時間賦值給$postdate)。參考SQL語句

1.select `post_title`, `post_date` from `wp_posts` where `post_ID` = '{$id}';

 

3、根據(jù)剛剛得到的$title,到SS的數(shù)據(jù)庫中的supe_spaceitems表(SS文章列表)中查詢subject為$title的,得到itemid(賦值給$ssoldid)。參考SQL語句

1.select `itemid` from `supe_spaceitems` where `subject` LIKE '%{$title}%' LIMIT 0,1;

 

4、因為WP數(shù)據(jù)庫記錄發(fā)布時間為標準日期型,而SS數(shù)據(jù)庫記錄UNIX時間戳型,如下圖所示,所以再導入時間時應用PHP程序先行處理,PHP語句

1.date_default_timezone_set("Asia/Shanghai");
2.$postdate=strtotime($postdate);
本句就把標準日期型的值變成UNIX時間戳格式并賦值給變量自身。根據(jù)剛剛得到的$ssoldid,到SS的數(shù)據(jù)庫中的supe_spaceitems表(SS文章列表)中查詢itemid為$ssoldid的,并改寫itemid為$id,dateline改寫為$postdate。參考SQL語句
1.update `supe_spaceitems` set `itemid`='{$id}' , `dateline`='{$postdate}' where `itemid`='{$ssoldid}' ;

 

5、根據(jù)剛剛得到的$ssoldid,到SS的數(shù)據(jù)庫中的supe_spacenews表(SS文章內(nèi)容表)中查詢itemid為$ssoldid的,改寫itemid和nid均為$id。參考SQL語句

1.update `supe_spacenews` set `itemid`='{$id}' , `nid`='{$id}' where `itemid`='{$ssoldid}';

 

6、到SS的數(shù)據(jù)庫中的supe_attachments表(SS文章附件表)中查詢itemid為$ssoldid的,并改寫itemid為$id。參考SQL語句

1.update `supe_spaceitems` set `itemid`='{$id}' where `itemid`='{$ssoldid}';

 

7、設$id循環(huán)增1,到你原來的WP系統(tǒng)數(shù)據(jù)庫文章ID最大值的那個結(jié)束

8、復查文章,看看有無錯誤。

9、設置supe_spaceitems、supe_spacenews和supe_attachments表的itemid或nid的自增字段為你目前最大itemid+1,否則用SS系統(tǒng)后寫一篇文章,其ID將為10001。

五、評論導入。

將WP的post_comments表導出為Microsoft Excel CSV格式,使用Excel編輯添加刪除列等,使其存放格式與supe_spacecomments表一致。如圖:

將修改后的Excel表格另存為unicode的csv格式,然后FTP傳至服務器上,使用此文http://www.littz.cn/viewnews-100.html提供的方法將csv文件導入SS數(shù)據(jù)庫的supe_spacecomments表中。記得檢查導入的數(shù)據(jù)是否正確

六、用戶導入

WP和UC的密碼加密算法不同,不能直接復制密文的方式導入,所以目前沒有很好的辦法保留原有用戶密碼導入,只能在UC中創(chuàng)建新用戶,用戶名與郵件設置為和原WP中的注冊用戶一致,再到SS登錄中使用忘記密碼功能給每個用戶發(fā)送一封忘記密碼的郵件,讓該用戶自己重設密碼。

八、主題包修改

如果打算設計不變,而把WP的主題包修改成SS系統(tǒng)可用的,應具備比較豐富的xHMTL、CSS以及PHP知識,將原WP主題下載,保持主題包內(nèi)部文件的原有相對路徑。參考SS的default主題結(jié)構(gòu),將原來的index.php修改成index.html.php,header.php修改成header.html.php等,以SS模板文件的形式存在。

01.在每個.html.php文件頭部加入
02.  
03.修改php get_header(); ?>為<!--{template header}-->修改為
04.  
05.修改和為$_SCONFIG[sitename]
06.  
07.修改為{S_URL}/templates/$_SCONFIG[template]/style.css
08.  
09.刪除pingback
10.  
11.修改為$_SCONFIG[seohead]
12.  
13.修改為{S_URL}/templates/$_SCONFIG[template]
14.  
15.修改和及為{S_URL}
16.  
17.修改為<!--{loop $channels['menus'] $key $value}--><LI><A href="$value%5Burl%5D">$value[name]</A></LI><!--{/loop}-->修改為<!--{block name="category" parameter=
18."type/news/isroot/1/order/c.displayorder/limit/0,12/cachetime/
19.80800/cachename/category"
20.}--><!--{loop $_SBLOCK['category'] $value}--><LI><A href="$value%5Burl%5D">$value[name]</A></LI><!--{/loop}-->修改為<!--{template footer}-->修改為<!--{block name="spacenews" parameter=
21."catid/$thecat[subcatid]/order/
22.i.dateline DESC/perpage/10/cachename/allnews/tpl/data"}--><!--獲取當前分類所有文章并分頁顯示--><!--{if $_SBLOCK['allnews']}--><!--{loop $_SBLOCK['allnews'] $value}-->修改為<!--{/loop}-->修改為$value[subject]
23.  
24.修改為#date("Y年m月d日", $value["dateline"])#
25.  
26.修改為$value[url]

等等,總之參考default主題修改

九、開啟Rewrite并添加自定義Rewrite規(guī)則。

01.rewrite ^/([0-9]+)/spacelist(.+)$ /index.php?uid/$1/action/spacelist/type$2 last;
02.rewrite ^/([0-9]+)/viewspace(.+)$ /index.php?uid/$1/action/viewspace/itemid$2 last;
03.rewrite ^/([0-9]+)/viewbbs(.+)$ /index.php?uid/$1/action/viewbbs/tid$2 last;
04.rewrite ^/([0-9]+)/(.*)$ /index.php?uid/$1/$2 last;
05.rewrite ^/([0-9]+)$ /index.php?uid/$1 last;
06.rewrite ^/action(.+)$ /index.php?action$1 last;
07.rewrite ^/category(.+)$ /index.php?action/category/catid$1 last;
08.rewrite ^/viewnews(.+)$ /index.php?action/viewnews/itemid$1 last;
09.rewrite ^/viewthread(.+)$ /index.php?action/viewthread/tid$1 last;
10.rewrite ^/mygroup(.+)$ /index.php?action/mygroup/gid$1 last;

這導致原WP網(wǎng)址結(jié)構(gòu)為http://www.littz.cn/html/2009/300.html,因為SS不能自定義URL地址,所以SS的文章URL為http://temp.littz.cn/viewnews-300.html,我們需要用Nginx做個跳轉(zhuǎn),在原有SS默認Nginx Rewrite規(guī)則上增加以下規(guī)則:

01.rewrite ^/album http://picasaweb.google.com/littlehz  permanent;
02.rewrite ^/about /action-channel-name-about.html  permanent;
03.rewrite ^/pollsarchive /action-poll-pollid-1.html  permanent;
04.rewrite ^/todo /action-channel-name-about.html  permanent;
05.rewrite ^/downloads /m.php?name=downloads  permanent;
06.rewrite ^/sitemap /action-site-type-map.html  permanent;
07.rewrite ^/tag/(.+)$ /action-tag-tagname-$1.html  permanent;
08.rewrite ^/category/technology /category-1.html  permanent;
09.rewrite ^/category/tune /category-2.html  permanent;
10.rewrite ^/category/tattle /category-3.html  permanent;
11.rewrite ^/category/share /category-4.html  permanent;
12.rewrite ^/html/([0-9]+)/([0-9]+).html /viewnews-$2.html permanent;

這樣保證了雖然URL更改了,但不會丟失鏈接,出現(xiàn)404錯誤找不到該頁。請根據(jù)原WP自定義URL結(jié)構(gòu)并參考本規(guī)則自寫規(guī)則,每個網(wǎng)站的結(jié)構(gòu)都不同,Apache的Rewrite規(guī)則也與此不同,但類似。

十、替換修改臨時SS系統(tǒng)URL為原WP的URL

臨時SS系統(tǒng)URL為http://temp.littz.cn,先SS欲替代原系統(tǒng),必然要把SS的URL修改為http://www.littz.cn,可以使用官方的SS URL替換工具http://faq.comsenz.com/viewnews-196,或者手動修改UC中SS應用URL,修改SS配置文件,再手動進入數(shù)據(jù)庫中使用類似

1.update `supe_spacenews` set `message`=replace(`message`, 'temp.littz.cn', 'www.littz.cn' );這樣的SQL語句進行替換。

 

十一、修改DNS解析A記錄到新服務器IP

原www.littz.cn的A記錄為67.220.69.79,現(xiàn)更改www.littz.cn的A記錄到64.71.167.26。等待DNS緩存更新,網(wǎng)站遷移完成。

本站僅提供存儲服務,所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
WordPress更改固定鏈接出現(xiàn)404的解決方案
WordPress seo 優(yōu)化-url rewrite重寫優(yōu)化
Nginx Rewrite詳解
使用composer來管理wordpress | 亂燉
WordPress 加速緩存插件:WP Super Cache
簡單幾步,在Ubuntu上跑WordPress
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服