網址定向重寫規則,解決問號開頭 RewriteRule
發表於 : 08-01-2010 | 作者 : admin
分類 : php & mysql |
1
部落格剛好需要換子網域,但是搜尋引擎已經有原來舊連結
那我就把舊的轉向到新的就好了
比如說是這樣
http://aaa.com/?p=100 => http://bbb.com/?p=100
但是我們一般設定.htaccess 只需要用下面這代碼就可以轉過去
RewriteEngine On # Rewrite 系統規則請勿修改 RewriteRule ^(.*)$ http://blogger.mbdmt.com/$1 [R]
但是發現用在這種簡易網址不行
就是網址後面省略index.php直接從問號開始(?),這個他就不接受
後來看了這篇
http://www.zzxj.net/blog/fxs_2008/archive/2009/10/06/63.html
才改成功。
原來用的方式是會做初步過濾轉換,所以可能把只有問號開頭的轉成別的或省略掉
那說到重點
後面的[R]是轉址的意思,要再加一個強制使用原字串的參數QSA
所以得到下面這樣,就可以成功轉址過去
RewriteEngine On # Rewrite 系統規則請勿修改 RewriteRule ^(.*)$ http://blogger.mbdmt.com/$1 [R,QSA]


補充一下
如果是放在godaddy空間
設定子網域的話,.htaccess 這個檔要放在子網域的根目錄就行了~