我用htaccess重寫了我的網址,現在我想重定向舊網址到新的網址,但我無法弄清楚如何做到這一點。.htaccess url重寫後重定向舊頁面url
這是用我的重定向規則:
RewriteRule ^page/([^/]*)/$ /page.php?name=$1 [L]
舊的URL的外觀是這樣的:page.php文件名=頁面名稱
新的URL的是這樣的:/頁/頁面級名稱/
我用htaccess重寫了我的網址,現在我想重定向舊網址到新的網址,但我無法弄清楚如何做到這一點。.htaccess url重寫後重定向舊頁面url
這是用我的重定向規則:
RewriteRule ^page/([^/]*)/$ /page.php?name=$1 [L]
舊的URL的外觀是這樣的:page.php文件名=頁面名稱
新的URL的是這樣的:/頁/頁面級名稱/
當您想要使用GET參數重定向url時,這有點複雜。
這裏有一個竅門做:
RewriteRule ^page\.php$ %{QUERY_STRING} [C]
RewriteRule name=(.*) /page/$1/? [R=301,L]
解釋相關:
page.php?name=page-name
到?name=page-name
[C]
標籤)page-name
,選(.*)
到page/page-name/
?
,你的查詢字符串將被追加到你的結果中,你將會得到這樣的url:page/page-name/?name=page-name
。使用無用的?
擦除舊的GET參數。找到一些信息在這裏:
我試圖使用您的代碼和重定向工作,但與重寫規則一起使用時出現錯誤: 「該頁面未正確重定向 Firefox檢測到服務器正在重定向該地址的請求一種永遠不會完成的方式。「 –
嘗試用'^ name =(。*)$'替換規則(請注意它在基本測試archi上工作正常) – zessx
那麼,什麼是錯的?你遇到什麼問題? –