【问题标题】:.htaccess 301 redirect that excludes a subpage.htaccess 301 重定向排除子页面
【发布时间】:2012-06-14 03:52:18
【问题描述】:

我的规则如下所示:

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

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

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

我这辈子都不知道如何排除单个子页面或所有子页面,这也可以。

感谢任何帮助。

【问题讨论】:

    标签: .htaccess mod-rewrite


    【解决方案1】:

    如果请求的页面是您要排除的页面,您可以通过RewriteCond 进行检查。

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

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

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

    【讨论】:

    • Jon Lin 比你快 30 秒
    【解决方案2】:

    您可以使用 mod_rewrite 创建条件:

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

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

    【讨论】:

      猜你喜欢
      • 2018-04-26
      • 2020-03-11
      • 2012-09-23
      • 2018-01-22
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 2013-07-25
      • 1970-01-01
      相关资源
      最近更新 更多