【问题标题】:How to Redirect page after removing Query String删除查询字符串后如何重定向页面
【发布时间】:2016-01-07 16:17:33
【问题描述】:

我有一堆旧网站 URL,我正在尝试重定向到新目标,现在我正在尝试从旧 URLS 中删除查询字符串,然后使用其参数重定向到新 URL,例如

上一个:www.domain.com/ranges.php?reqinfo=some-data-info

必需:www.domain.com/info/ranges/some-data-info

我正在 .htaccess 中尝试这个

   RewriteCond %{QUERY_STRING}  ^\ranges\.php\?reqinfo=(.*)$  [NC]
   RewriteRule ^info/ranges/%1? [L,R=301]

我也尝试了另一条规则,但它也删除了所有 peramaters

RewriteRule ^ranges\.php$ /info/ranges/$1? [L,R=301]

有人可以帮忙吗?

【问题讨论】:

  • %{QUERY_STRING} 变量将只有 url 的查询字符串部分,即? 之后的部分,而不是文件名。不确定它是否包含?

标签: php regex .htaccess mod-rewrite redirect


【解决方案1】:

ranges.php 是您的 REQUEST_URI 的一部分,因此您无法匹配使用 QUERY_STRING 条件。将其用作:

RewriteCond %{QUERY_STRING} ^reqinfo=([^&]+)  [NC]
RewriteRule ^ranges\.php$ /info/ranges/%1? [L,R=301,NC]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-28
    • 2018-11-16
    • 1970-01-01
    • 2012-09-30
    相关资源
    最近更新 更多