用Linux主機(jī)的網(wǎng)站可以通過(guò).htaccess做301跳轉(zhuǎn),這個(gè)大家都很清楚。
如果能對(duì).htaccess的規(guī)則非常了解的話(huà),那么使用起來(lái)肯定得心應(yīng)手。但是如果不熟悉的話(huà),只能做到只是更換域名不更換文件路徑的跳轉(zhuǎn)。比如從a域名跳轉(zhuǎn)到b域名,只能做到類(lèi)似a域名/123.html到b域名/123.html。
但是如果從zblog遷移到wordpress博客程序,那么就需要比如從類(lèi)似于http://blog.cocold.com/post /25.html 跳轉(zhuǎn)到http://blog.icoa.cn/25.html和從http://blog.cocold.com /catalog.asp?tags=301 跳轉(zhuǎn)到http://blog.icoa.cn/tag/301 等這種更換了域名并更換了博客平臺(tái)的情況來(lái)說(shuō)就無(wú)能為力了。
安裝了Wordpress的朋友都知道,Wordpress支持URL靜態(tài)化。實(shí)現(xiàn)的方法就是通過(guò)在網(wǎng)站根目錄自動(dòng)創(chuàng)建一個(gè).htaccess的文件,實(shí)現(xiàn)所有的url都指向首頁(yè)index.php。然后在通過(guò)首頁(yè)P(yáng)HP代碼的解析來(lái)顯示不同的內(nèi)容。
于是我將blog.cocold.com指向一個(gè)linux主機(jī),然后在網(wǎng)站根目錄創(chuàng)建.htaccess,把Wordpress創(chuàng)建的.htaccess內(nèi)容復(fù)制出來(lái)放進(jìn)去:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ./index.php [L]
# END WordPress
然后新建一個(gè)index.php放到根目錄下,index.php的內(nèi)容如下:
$pageurl=str_replace("/post", "", $_SERVER[REQUEST_URI]);
$pageurl=str_replace("/catalog.asp?tags=","/tag/", $pageurl);
$pageurl=str_replace("&page=", "/page/",$pageurl);
$pageurl=str_replace("/catalog.asp?date=","/date/", $pageurl);
$pageurl=str_replace("-","/",$pageurl);
Header("HTTP/1.1 301 Moved Permanently");
header("location: http://blog.icoa.cn/".$pageurl);
?>
這樣就可以實(shí)現(xiàn)下面的跳轉(zhuǎn):
http://blog.cocold.com/post/25.html 跳轉(zhuǎn)到 http://blog.icoa.cn/25.html
http://blog.cocold.com/catalog.asp?tags=301 跳轉(zhuǎn)到 http://blog.icoa.cn/tag/301
http://blog.cocold.com/catalog.asp?date=2011-5 跳轉(zhuǎn)到 http://blog.icoa.cn/date/2011/05
……
如果還有其他路徑依然可以寫(xiě)進(jìn)去。
完美的實(shí)現(xiàn)了從Zblog跳轉(zhuǎn)到wordpress。
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄