【问题标题】:RewriteRule domain which contains '?'包含“?”的 RewriteRule 域
【发布时间】:2012-10-31 18:13:37
【问题描述】:

我想要 RewriteRule 域的 /page/test 或 /page/test/ 转到 www.domain.com。仅针对这两个示例。 我试试:

RewriteRule ^/page/test/?$ http://www.domain.com [R=301,L,NC]

这会很好,但我还有其他页面,例如 /page/test/?D_test 当我放 RewriteRule 时,也重定向 /page/test/?D_test.问题是“?”。我应该如何编写规则以不将其他页面重写为 www.domain.com ?例如

/page/test/?D_test /page/test/(.*)

【问题讨论】:

    标签: mod-rewrite redirect url-rewriting


    【解决方案1】:

    我不确定我是否理解您的问题。您要么问我如何将包括查询字符串在内的所有流量重定向到域并取消查询字符串。在这种情况下,我通常会这样做:

    RewriteRule ^/page/test/?$ http://www.domain.com? [R=301,L,NC]
    

    如果你想让它在有查询字符串时不重定向,那么你必须使用重写条件。

    RewriteCond %{QUERY_STRING} ^$
    RewriteRule ^/page/test/?$ http://www.domain.com? [R=301,L,NC]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-29
      • 2012-07-21
      • 1970-01-01
      • 2014-01-01
      相关资源
      最近更新 更多