1

我的规则如下所示:

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

我的问题是有一个页面 /page-parent/thanks 我不想被重定向。

我还传递了查询字符串,以便任何 ?gclid= 字符串都可以使用。

我一生无法弄清楚如何排除单个子页面或所有子页面,这也可以。

任何帮助表示赞赏。

4

2 回答 2

1

您可以检查RewriteCond请求的页面是否是您要排除的页面。

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

确保在重试时清除浏览器缓存,因为 301 重定向被缓存。

注意:您不需要手动附加查询字符串。

于 2012-06-13T19:52:18.490 回答
0

您可以使用 mod_rewrite 创建条件:

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

请注意,您可以?%{QUERY_STRING}从目标中省略 ,因为默认情况下查询字符串会附加到目标中,除非您通过?添加了新参数。.

于 2012-06-13T19:51:59.437 回答