Php 删除查询字符串后如何重定向页面

Php 删除查询字符串后如何重定向页面,php,regex,.htaccess,mod-rewrite,redirect,Php,Regex,.htaccess,Mod Rewrite,Redirect,我有一堆旧的网站URL,我正在尝试重定向到新的目的地,现在我正在尝试从旧的URL中删除查询字符串,然后重定向到新的URL,其参数如下 上一篇:www.domain.com/ranges.php?reqinfo=一些数据信息 必需:www.domain.com/info/ranges/some-data-info 我正在.htaccess中尝试此功能 RewriteCond %{QUERY_STRING} ^\ranges\.php\?reqinfo=(.*)$ [NC] Rewr

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

上一篇:www.domain.com/ranges.php?reqinfo=一些数据信息

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

我正在.htaccess中尝试此功能

   RewriteCond %{QUERY_STRING}  ^\ranges\.php\?reqinfo=(.*)$  [NC]
   RewriteRule ^info/ranges/%1? [L,R=301]
我还尝试了另一个规则,但它也删除了所有的Peramater以及

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

有人能帮忙吗。

范围。php
是您请求URI的一部分,因此在使用
查询字符串时无法匹配。将其用作:

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

%{QUERY\u STRING}
变量将只包含url的查询字符串部分,即
之后的部分,而不是文件名。不确定是否包含