Apache 服务器上的情况(目录树):
maindomain.com/
|
|_ .htaccess (just an empty file, no rule in here)
|
|_ addondomain1.com/
| |
| |_ .htaccess
| |_ index.html
|
|_ addondomain2.com/
|
|_ .htaccess
|_ index.html
目前 addondomain1.com 中的文件可以通过以下方式查看:
http://www.addondomain1.com/index.html
http://www.addondomain1.com/
http://www.addondomain1.com
http://www.maindomain.com/addondomain1.com/index.html
我想重定向所有请求:
http://maindomain/addondomain1.com/some/path/anypage.html
(带或不带'www')
到相同的路径/文件,但在 addondomain1.com 下,并且始终使用“www”:
http://www.addondomain1.com/some/path/page.html
为了尝试做到这一点,我放置了maindomain.com/addondomain1.com/.htaccess
这条规则:
RewriteCond %{HTTP_HOST} !^www\.addondomain1\.com$
RewriteRule ^(.*)$ "http://wwww.addondomain1.com/$1" [R=301,L]
这个效果几乎很好,并且可以很好地重定向以下所有内容:
http://addondomain1.com/index.html >> http://www.addondomain1.com/index.html
http://www.addondomain1.com/ >> http://www.addondomain1.com/
http://www.addondomain1.com >> http://www.addondomain1.com
http://www.maindomain.com/addondomain1.com/index.html >> http://www.addondomain1.com/index.html
http://www.maindomain.com/addondomain1.com/ >> http://www.addondomain1.com/
http://maindomain.com/addondomain1.com/ >> http://www.addondomain1.com/
但不幸的是,当去:
http://maindomain.com/addondomain1.com
http://www.maindomain.com/addondomain1.com
注意上面的两个链接都没有最后的斜线,它重定向到:
http://www.addondomain1.com//server/root/path/addondomain1.com
我认为正则表达式^(.*)$
将“addondomain1.com”作为一部分,因为缺少最后的斜杠。你知道如何修复/解决这个问题吗?
谢谢!