301使用查询字符串重定向到URL

时间:2014-01-23 22:03:15

标签: regex apache .htaccess mod-rewrite redirect

我正在尝试将一个网址重定向到另一个网址。它们是不同的域,但它们的URL中都有查询字符串。示例网址为:

重定向: OLDDOMAIN /教师/配置文件?UID = 123

于: NEWDOMAIN /学部?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]

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您还需要添加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下方的顶部。