我有一个使用通配符子域的网站。
我需要更改域并将所有旧页面重定向到新域。
例如:我想重定向此页面
x.olddomain.example/stackoverflow
至x.NewDomain.example/stackoverflow
不对子域文件夹进行任何更改。
我使用了以下代码:
RewriteCond %{HTTP_HOST} ^(.+\.)?olddomain.example$ [NC]
RewriteRule ^ http://%1newdomain.example%{REQUEST_URI} [R=301,L]
但是结果是:
x.olddomain.example/stackoverflow
重定向到
x.olddomain.example/?name=stackoverflow
请注意:,当您尝试直接向浏览器输入域时会出现问题。.但是,如果您在子域中,则可以正常工作
如果您正在浏览页面
x.olddomain.example
然后您通过该页面单击了此链接
x.olddomain.example/stackoverflow
,然后
它可以很好地重定向到
x.newdomain.example/stackoverflow
但是,如果您尝试直接通过浏览器输入x.olddomain.example/stackoverflow
,它将重定向到x.newdomain.example/?name=stackoverflow