.htaccess使用所有查询字符串重定向新URL

时间:2014-01-27 22:46:16

标签: regex .htaccess mod-rewrite redirect url-redirection

在StackOverflow中已经阅读了很多有关此内容的问答,但似乎无法找到我需要的解决方案。

我有一个旧的url,它附加了许多可能的查询字符串/参数(太多而无法进行逐行匹配)。我有一个新的网址,它将处理这些请求,但需要301重定向到新的网址,任何/所有参数都完好无损...

oldscript.php(许多参数组合可以附加到入站网址) newscript.php(追加?和使用oldscript.php找到的任何参数)

这一定比我做的要容易,但是所有的例子都让我一次修剪一个参数,有20多个可以包含在任何顺序或组合中,或者没有。

寻找apache .htaccess方法,以静默方式将入站访问者重定向到新脚本,并将所有/所有查询参数传递给新脚本。

感谢大师......

注意:我现在已经在oldscript的顶部做了一个快速而又脏的PHP mod但是必须有更好的方法......

$params = explode('?',$_SERVER['REQUEST_URI']);
header( 'Location: http://www.mysite.com/newscript.php?'.$params[1]) ; die;

1 个答案:

答案 0 :(得分:2)

像这样的简单规则应该注意:

RedirectMatch 301 "^/oldscript\.php$" /newscript.php

请注意,任何现有的查询字符串都将自动转移到新URI。