我在网站上有一个htaccess通配符重定向,它将另一个域重定向到主域名,并且还将www重定向到无www,主域名为通配符。以下规则是使用cpanel创建的,但它不使用通配符。
这些相同的规则在许多其他网站上运行正常,而不是有问题的网站。
RewriteCond %{HTTP_HOST} ^www\.domain1\.ca$
RewriteRule ^(.*)$ "http\:\/\/domain1\.ca\/$1" [R=301,L]
RewriteCond %{HTTP_HOST} ^domain2\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain2\.com$
RewriteRule ^(.*)$ "http\:\/\/domain1\.ca\/$1" [R=301,L]
有什么想法吗?我对可能造成这种情况的想法缺乏了解。
添加更多说明:
如果我转到www.domain1.ca/some-page
,它应该重定向到domain1.ca/some-page
然而,它转到domain1.ca
。
在每个浏览器中测试,重新制作规则,删除所有缓存并执行多次dns刷新,没有任何改变。
答案 0 :(得分:1)
您可以使用:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L,NE]
RewriteCond %{HTTP_HOST} ^(www\.)?domain2\.com$ [NC]
RewriteRule ^ http://domain1.ca%{REQUEST_URI} [R=301,L,NE]