我正在尝试将一个 URL 重定向到另一个 URL。它们是不同的域,但其 URL 中都有查询字符串。示例 URL 为:
重定向: olddomain/faculty/profile?uID=123
至: 新域/Faculty?id=024
这是我放在 .htaccess 文件中的内容,但它不起作用(所有必需的模块都已安装并激活,因为还有其他没有查询字符串的 301 可以正常工作):
RewriteCond %{HTTP_HOST} ^www\.olddomain\.tld$ [NC]
RewriteCond %{QUERY_STRING} ^uID=123$ [NC]
RewriteRule ^faculty/profile$ http://newdomain/Faculty?id=024 [R=301,NE,NC,L]
我做错了什么?
最佳答案
您还需要添加http://
:
RewriteCond %{HTTP_HOST} ^www\.olddomain\.tld$ [NC]
RewriteCond %{QUERY_STRING} ^uID=123$ [NC]
RewriteRule ^faculty/profile$ http://newdomain/Faculty?id=024 [R=301,NE,NC,L]
并确保此规则位于顶部,紧邻 RewriteEngine On
下方。
关于regex - 301 重定向到带有查询字符串的 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21320275/