我为sd.example.com设置了一个vhost。DocumentRoot是htdocs/sd。浏览到sd.example.com就像预期的那样工作。但是如果我浏览到sd.example.com/sd,就会得到同样的结果。
这是否是预期的行为,如果是,如何禁用它?我本以为sd.example.com/sd会尝试加载htdocs/sd/sd,结果应该是404。
如果不是预期的话,我很乐意把我的vhost发出去。
发布于 2019-08-31 20:05:05
首先,请确保您没有意外地将“sd”直接复制到另一个“sd”中,因为这种情况发生的频率比人们想象的要多。可能是检查是否有指向父dir的符号链接的好时机。
还请检查sd.example.com/asedfasdfasd是否返回错误或与sd.example.com相同的内容。
如果可能的话,请张贴您的虚拟主机配置,您能否确认sd.example.com/sd加载了该子目录中的页面,或者它重定向到sd.example.com
--我会写这篇文章作为评论,但我没有足够的代表这样做。
发布于 2019-10-12 12:39:16
htdocs通常是主域example.com的文档根。我假设您错误地输入了您的示例,并且实际上是example.com/sd给出了与子域相同的结果。不建议创建子目录来容纳子域。相反,您应该使用完全不同的文档根。例如,我在服务器上为各种文档根创建了这样的目录:
/var/www/example.com//var/www/sd.example.com//var/www/www.example.net/这样,没有一个子域嵌套在另一个域中。一切都会更好。
不幸的是,在共享托管时,您可能无法仔细管理您的目录结构和文档根。共享托管界面cPanel有一个坏习惯,就是在目录中托管主域,并为子域和附加域创建子目录。在这种情况下,您必须将代码放在主域的.htaccess中,以防止子目录访问。
Redirect permanent /sd/ http://sd.example.com/
Redirect permanent /sd http://sd.example.com/https://webmasters.stackexchange.com/questions/124802
复制相似问题