2012-06-13 87 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