2012-06-13 88 views
1

我的規則是這樣的:的.htaccess 301重定向排除子頁面

RewriteRule ^page-parent.*$ http://www.domain.com/new-page/?%{QUERY_STRING} [R=301,L] 

我的問題是,有一個網頁/網頁父/謝謝,我不想被重定向。

我也傳遞查詢字符串,以便任何?gclid =字符串將與。

我不能爲我的生活弄清楚如何排除單個子頁面或所有子頁面,這也可以。

任何幫助表示讚賞。

回答

0

您可以使用mod_rewrite來創建一個條件:

RewriteCond %{REQUEST_URI} !^/page-parent/thanks 
RewriteRule ^page-parent.*$ http://www.domain.com/new-page/ [R=301,L] 

注意,你可以離開了您的目標?%{QUERY_STRING},因爲查詢字符串被附加到系統默認的目標,除非你通過添加新的PARAMS a

1

如果請求的頁面是您想要排除的頁面,您可以使用RewriteCond進行檢查。

RewriteCond %{REQUEST_URI} !^/page-parent/thanks 
RewriteRule ^page-parent.*$ http://www.domain.com/new-page/ [R=301,L,QSA] 

請確保在重新獲取緩存301重定向時重新清除瀏覽器緩存。

注意:您不需要手動追加查詢字符串。

+0

Jon Lin擊敗你30秒 – eteich