使用参数将URL重定向到具有相同参数的其他域

时间:2013-06-14 12:02:46

标签: .htaccess redirect

我想从这样的东西重定向永久物 http://www.example.de/page.html?cid=00340119050014953926&pc=70000

对此 http://www.secondexample.com/?cid=00340119050014953926&pc=70000

所以它是一个不同的域,没有“page.html”,但具有相同的参数。

是否可以使用RedirectPermanent执行此操作,还是需要RewriteRule?

编辑: 问题是我只想在URL有参数的情况下重定向,但如果没有则不重定向。

1 个答案:

答案 0 :(得分:0)

我不熟悉RedirectPermanent,但阅读一些文档似乎与RewriteRule ... [R=301]没有太大区别。

您可以使用(未​​经测试的代码)完成您想要的任务:

RewriteCond %QUERY_STRING ^(.+)$
RewriteRule page\.html http://www.secondexample.com/?%1 [R=301]

我相信你甚至可以在没有尾随?%1的情况下执行此操作,因为如果不存在?,它会将原始查询字符串附加到新网址。如果请求的页面为page.html,则此RewriteRule匹配。然后检查RewriteCond是否为真(即正则表达式与查询字符串匹配),在这种情况下,如果查询字符串长度至少为1个字符。如果是这种情况,它会重写URL并使用代码301重定向页面(永久移动)。 %1是对条件中第一个捕获组的反向引用,但如前所述,可能没有必要。