我有很多来自谷歌和stackoverflow的想法 - 但这些都不是我想要的。这是场景 -
我从提供商处购买了托管空间。我必须提供一个域名(让abc.com)作为该托管空间的主要域名。
然后我发现我必须将该rimary域(abc.com)的所有内容直接放入文档根目录。这不是像www / abc或www / abc.com这样的目录。
然后我用Google搜索并找到了很多.htaccess解决方案。我选了以下一个 -
RewriteEngine On
RewriteBase /
RewriteCond%{HTTP_HOST} abc.com
RewriteCond%{REQUEST_URI}!^ / abc.com/(.*)[NC]
RewriteRule ^(。*)$ / abc.com/$1
我刚刚在现有.htaccess文件的末尾粘贴了上面的行(默认)。 它工作正常。从那时起,我一直在使用www / abc.com目录作为我的abc.com域名。
最近我在我的abc.com域中添加了一些子域名(让xyz.abc.com)。但它对我来说很奇怪。所有子域名都在寻找abc.com/subdomain的内容(例如:abc.com/xyz.abc.com)
这次我没有得到谷歌的解决方案(我可能会错过)。
有人帮助我 - 我身体状况不佳。
编辑: 以下行从一开始就在WebRoot .htaccess中。之后,我添加了上面提到的其他行(3,4)
# -FrontPage-
IndexIgnore .htaccess */.??* *~ *# */HEADER* */README* */_vti*
<Limit GET POST>
order deny,allow
deny from all
allow from all
</Limit>
<Limit PUT DELETE>
order deny,allow
deny from all
</Limit>
AuthName abc.com
AuthUserFile /home/abc/public_html/_vti_pvt/service.pwd
AuthGroupFile /home/abc/public_html/_vti_pvt/service.grp\
再次编辑: 在同一主机空间中还有一些其他域(主域abc.com除外)。这些域有一些工作子域。但主域的子域不能像我上面解释的那样工作。
答案 0 :(得分:3)
更改
RewriteCond %{HTTP_HOST} abc.com
到
RewriteCond %{HTTP_HOST} ^abc.com$
现在规则与您的子域名不再匹配。
<强>更新强>
# catch www.abc.com and abc.com (and wwwwwwwwwww.abc.com)
RewriteCond %{HTTP_HOST} ^(w+\.)?abc\.com$