首頁 > 系統設定, 部落格更改誌 > WordPress設定你的固定網址

WordPress設定你的固定網址

2011年1月8日 發表評論 閱讀評論

因為前陣子改版了部落格,所以對apache mod_rewrite有更多的認識,因為要將舊版的部落格連結相容可連至新版的wordpress,所以花了不少心力去調整網址的對應,在此分享一下~給有需要的人少一點摸索的時間

#阻止沒有referrer來源鏈接的垃圾評論
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post\.php*
RewriteCond %{HTTP_REFERER} !.*herolin.webhop.me.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

以上這是去找來的,blog最討厭就是那種垃圾廣告,加了上面這些,應該能阻擋一些簡單的垃圾機器人吧,再來下面這段,是我將重複的簡略後的內容,主要就是在進行一些網址的轉換

#轉址
RewriteCond %{HTTP_HOST} !^herolin.webhop.me$ [NC]
RewriteRule ^(.*)$ http://herolin.webhop.me/$1 [L,R=301]

因為在這次也將原本以http://herolin.mine.nu為主的網址,改成以http://herolin.webhop.me為主,因為http://herolin.mine.nu好像蠻多地方都有被擋~所以還是改成用另一個為主要的網址,所以上述就是在做301的轉址~以便http://herolin.mine.nu還能連到部落格~並且又不會讓搜尋引擎認為你故意弄兩個一模一樣的網站!

#舊blog轉址
RewriteRule ^rss$ /feed [R=301,NC,L]
RewriteRule ^notice/83$ /About-Hero [R=301,NC,L]RewriteRule ^category/專業技術/net$ /category/專業技術/net-專業技術 [R=301,NC,L]
RewriteRule ^category/專業技術/ajax$ /category/專業技術/ajax-專業技術 [R=301,NC,L]
RewriteRule ^archive/([0-9]{4})([0-9]{2})$ entry/$1/$2? [R=301,NC,L] 

再來這段就是針對舊的部落格有些連結和新版的無法對應,所以用這樣對應的方式進行對應,注意,如果你的網址有中文字,而你要將中文字寫到.htaccess裡,記得你的.htaccess要存成UTF-8格式並且是沒有BOM的就可以啦

RewriteCond %{QUERY_STRING} ^page=([0-9]+)$
RewriteRule ^$ /page/%1? [R=301,NC,L]

最後這段,是因為分頁的網址寫的不一樣,所以要再進行調整將參數轉換成新版的靜態網址,這期間TRY了很多也參考了很多資料才弄出來,mod_rewrite真的是很強大,除了上述轉址之外還可以設定cache及傳輸壓縮,有興趣的可以參考以下連結,有更多的介紹及說明。

最後,提醒各位一點,當你寫好你的.htaccess時一定要備份一下, 因為wordpress在設定固定網址時會將.htaccess初始化,小弟就忘了備份,所以又多花了一些時間重摸索,切記切記呀!!

參考資料:

Be Sociable, Share!
  1. 目前尚無任何的評論。
  1. 目前尚無任何 trackbacks 和 pingbacks。

*