.htaccess 重定向包含所有查询字符串的新 URL



一直在StackOverflow中阅读很多关于这个问题的问答,但似乎找不到我需要的解决方案。

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

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

这肯定比我做的要容易,但是所有示例都让我一次修剪一个参数,并且有 20 多个可以以任何顺序或组合包含或不包含。

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

谢谢大师...

注意:我现在在旧脚本的顶部做了一个快速而肮脏的 PHP mod,但一定有更好的方法......

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

像这样的简单规则应该可以解决这个问题:

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

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

最新更新