基本上我有一个包含现有站点和新站点的共享服务器。在大多数共享主机帐户(linux)上,文件结构是这样的:
- public_html
-- firstsite.com
-- secondsite.com
对于有问题的服务器,结构更像是:
- public_html
-- all of the folders and files of the first site loose in this directory
-- secondsite.com
因此,如果我尝试从浏览器访问secondsite.com,我会被发送到此处:
http://firstsite.com/secondsite.com
......这显然是不正确的。我的托管支持告诉我,如果我重命名firstsite.com使用的htaccess文件,secondsite.com将解析为:
http://secondsite.com
我显然无法禁用我的htaccess文件,因为这会使第一个网站失效。
所以我正在查看我的htaccess文件并认为这是有问题的一行:
### Only allow access without the www. ####
RewriteCond %{HTTP_HOST} !^firstsite\.come$ [NC]
RewriteRule ^(.*)$ http://firstsite.com/$1 [R=301,L]
我想我需要一套与secondsite.com
相关的类似规则?
任何建议都会很棒。
答案 0 :(得分:0)
首先,RewriteRule
将始终执行,因为RewriteCond
中的域名无效,并且它将始终与该主机不同(您有.come)。
其次我认为你可以尝试将其添加为.htaccess file
中的第一套规则:
RewriteCond %{HTTP_HOST} ^secondsite\.com$ [NC]
RewriteRule ^(.*)$ /secondsite.com/$1 [QSA,L]
答案 1 :(得分:0)
你需要改变你的规则:
RewriteCond %{HTTP_HOST} !^firstsite\.come$ [NC]
RewriteRule ^(.*)$ http://firstsite.com/$1 [R=301,L]
要:
RewriteCond %{HTTP_HOST} ^www\.firstsite\.com$ [NC]
RewriteRule ^(.*)$ http://firstsite.com/$1 [R=301,L]
因此,当主机为secondsite.com
时,规则不会尝试重定向回第一个site.com