【发布时间】:2023-03-03 22:22:01
【问题描述】:
我正在尝试将 olddomain.com 及其所有子页面(以及那些可以在 URL 中包含查询字符串)重定向到新域上的特定页面:
newdomain.com/target-page/
目前我在 olddomain.com 的 .htaccess 中使用此代码:
RewriteEngine On
rewritecond %{http_host} ^olddomain.com
rewriteRule ^(.*) https://www.newdomain.com/target-page/ [R=301,L]
ErrorDocument 404 https://www.newdomain.com/target-page/
除了 URL 中有查询字符串的某些情况外,它工作正常。
例如:
http://www.olddomain.com/home.php?pd=index
重定向到:
https://www.newdomain.com/target-page/?pd=index
我需要它只是:
https://www.newdomain.com/target-page/
有趣的是,这样的页面:
http://www.olddomain.com/?page_id=503
重定向到:
https://www.newdomain.com/target-page/
如何确保 olddomain.com 上的所有内容都重定向到 newdomain.com/target-page/ 包括查询字符串等?
谢谢!
【问题讨论】:
-
首先你说它当前重定向到
/target-page/?pd=index,你需要它只是/target-page/,但在问题的最后你问你如何保持 i> 原始查询字符串 - 现在是哪一个……? -
查询字符串被添加为 /target-page/?pd=index,而我不希望这样,并且需要所有内容(无论是否带有查询字符串)都重定向到 /target-page/ .
-
在重写目标的末尾添加一个问号,这应该禁止应用任何现有的查询字符串。
rewriteRule ^(.*) https://www.newdomain.com/target-page/? [R=301,L]