【发布时间】:2010-10-23 03:32:48
【问题描述】:
我从 google 和 stackoverflow 获得了很多想法——但这些都不是我想要的。这是场景-
我从提供商处购买了托管空间。我必须提供一个域名(let abc.com)作为该托管空间的主域。
然后我发现我必须将那个 rimary 域 (abc.com) 的所有内容直接放入文档根目录中。这不是像 www/abc 或 www/abc.com 这样的目录。
-
然后我用谷歌搜索并找到了很多 .htaccess 解决方案。我选择了以下一个-
重写引擎开启
重写基础/
RewriteCond %{HTTP_HOST} abc.com
RewriteCond %{REQUEST_URI} !^/abc.com/(.*) [NC]
重写规则 ^(.*)$ /abc.com/$1
我刚刚在现有 .htaccess 文件的末尾粘贴了以上行(默认)。 它工作正常。从那时起,我一直在为我的 abc.com 域使用 www/abc.com 目录。
最近我在我的 abc.com 域中添加了一些子域 (let xyz.abc.com)。但它对我来说很奇怪。所有子域都在 abc.com/subdomain 中寻找其内容(例如 abc.com/xyz.abc.com)
这次我没有通过 google 得到任何解决方案(我可能错过了)。
请有人帮帮我-我身体不好。
已编辑: 以下几行从一开始就在 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 除外)。这些域有一些工作子域。但是主域的子域并没有像我上面解释的那样工作。
【问题讨论】:
-
您是如何在网络服务器配置中添加子域的?另外,您添加了 subd 后,
.htacces是否被修改过? -
@methode:当我添加一个子域时,.htaccess 没有任何变化
-
好的。子域有效吗? IE。如果你去 xyz.abc.com,你会得到预期的页面吗?我问这个是因为某些网络服务器(即使用 cPanel 管理的那些)被配置为从 web-root 的子目录中为子域提供服务,就像你描述的那样。考虑到在您的绝对路径中您有 /home/abc/public_html/ ,您的服务器由 cPanel/WHM 管理,因此您遇到的“问题”实际上是预期的行为。我相信您最好的选择是完全禁止访问 abc.com/xyz/abc.com 或仅将其 301 重定向到子域。
-
正如我所解释的 - xyz.abc.com 转到 abc.com/xyz.abc.com