3

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

到这个 http://www.secondexample.com/?cid=00340119050014953926&pc=70000

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

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

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

4

1 回答 1

0

我不熟悉RedirectPermanent,但阅读一些文档似乎与RewriteRule ... [R=301].

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

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

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

于 2013-07-11T12:12:59.890 回答