我有两个后缀不同的域名,我想做的是:
- 将所有url从domain2重写为domain1
- 将所有的www url重写为它们的非www url,并将其重定向到domain1
- 强制HTTPS URL
- 我希望这些规则也能影响完整的目录尾部,例如:http://www.domain2.net/shop/会去https://domain1.com/shop/
我现在拥有的:
RewriteCond %{HTTP_HOST} ^domain2.net$ [OR]
RewriteCond %{HTTP_HOST} ^www.domain2.net$ [OR]
RewriteCond %{HTTP_HOST} ^www.domain1.com$
RewriteRule ^/?$ "https://domain1.com" [R=301,L]
正如你所看到的,这在一定程度上满足了我的需求,但我很难弄清楚如何操作整个目录尾部,有人知道正确的解决方案吗?
假设它适用于项目1、2和3。对于第4项,您需要将要在重写部分中重用的模式部分放在括号中,如下所示:
RewriteCond %{HTTP_HOST} ^domain2.net$ [OR]
RewriteCond %{HTTP_HOST} ^www.domain2.net$ [OR]
RewriteCond %{HTTP_HOST} ^www.domain1.com$
RewriteRule ^(.*)$ "https://domain1.com/$1" [R=301,L]
^(.*)$
:从任何.*
开始,直到结束$
"。请注意,.*
也将匹配空字符串$1
将把括号之间的内容替换为重写部分- 例如:
http://domain2.net/TATA.html
->https://domain1.com/TATA.html