【问题标题】:RewriteCond %{QUERY_STRING} for all所有的 RewriteCond %{QUERY_STRING}
【发布时间】:2016-05-03 12:48:49
【问题描述】:

我们曾经有一个类似于www.website.com/wmspage.cfm?parm1=1000 的url 模式,其中1000 是页面ID。

我做了几次这样的 301 重写:

RewriteCond %{QUERY_STRING} parm1=513
RewriteRule ^(.*)$ http://www.website.com/new-url/? [R=301,L]

但是现在我想将所有这些旧的 parm1=id 字符串 301 带到我们的主页,而不是单独进行这些重定向。如何使它成为通用重定向?

有没有办法用 parm1=whatever 捕获所有 url?

【问题讨论】:

  • 简单:将parm1=513 更改为parm1=\d+,其中\d+ 是“一个或多个数字”的表达式。
  • 完美!我知道有一种快速简便的方法,但我不记得了。
  • 打算添加这个作为帮助他人的答案。完成后请接受。

标签: .htaccess mod-rewrite rewrite query-string http-status-code-301


【解决方案1】:

要捕获 parm1 的所有 ID,只需使用 \d+ 表达式捕获条件中的所有数字:

RewriteCond %{QUERY_STRING} parm1=\d+

【讨论】:

    猜你喜欢
    • 2013-07-29
    • 1970-01-01
    • 2011-02-22
    • 1970-01-01
    • 2015-05-21
    • 2012-06-27
    • 2020-08-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多