.htaccess 301重定向

admin發表於2018-07-19

301重定向是永久重定向,告訴搜尋引擎,當前網址已經被另一個網址永久替換。

搜尋引擎會在一段時間之後,將新的網址靠前展現,原來的URL地址將逐漸失去排名。

程式碼例項如下:

[Shell] 純文字檢視 複製程式碼
RewriteCond %{QUERY_STRING} ^(.*)tid=14023$ [NC]
RewriteRule ^forum.php$ article-2094-1.html? [R=301]

目的是當訪問forum.php?mod=viewthread&tid=14023時候,重定向到article-2094-1.html。

程式碼解析如下:

(1).%{QUERY_STRING}獲取URL查詢字串部分(mod=viewthread&tid=14023)。

(2).^(.*)tid=14023$正規表示式,用來和前面的查詢字串匹配,如果成功,則執行下面的規則。

(3).RewriteRule定義具體的重定向規則。

(4).預設情況下,RewriteRule後面的Pattern部分只會獲取URL的非查詢字串部分(不包括域名),可以使用[QSA]改變此特點,具體參閱RewriteRule QSA用法一章節。

(5).article-2094-1.html?規定最終要替換的地址,問號很重要,否則會附加原來URL查詢字串部分:

[HTML] 純文字檢視 複製程式碼
article-2094-1.html?mod=viewthread&tid=14023

新增問號就可以剝離查詢字串。

相關文章