我在内部网络上设置了一个 Web 服务器,在 CentOS 5.5 上运行,使用典型的 LAMP 设置。当我在浏览器中将其指向http://mailroom/
网页时,没有任何问题。但是,当我尝试转到子目录时,出现 403 错误。因此,我尝试设置虚拟主机以指向subdomain.mailroom
。当我点击子域时,浏览器会尝试添加,www
尽管我的 .htaccess 不允许这样做。所以我的问题是...
1. Apache 甚至可以识别没有 TLD 的任何东西吗?
2. 如果它需要 TLD,我该如何设置一个假的,比如xxxxx.foo
?
答案1
请注意,403 错误通常是由于文件/目录权限配置错误造成的。Apache 尝试加载/提供文件,但无法读取。请参阅这里了解与 403 相关的其他需要检查事项的详细清单。
答案2
- 是的
- 最好设置虚拟域
仅供开发使用:
在服务器上:
- 为域名 www.example.com 设置虚拟主机(我想你知道怎么做)
在 /etc/hosts 中添加
111.222.333.444 www.example.com www
重启 Apache
在您的工作站上对于 Windows:
在 %SystemRoot%\system32\drivers\etc\hosts 中添加:
111.222.333.444 www.example.com
对于Linux:
在 /etc/hosts 中添加:
111.222.333.444 www.example.com
重新启动浏览器。
其中 111.222.333.444 是您的服务器(邮件收发室)的 IP 地址
问候
PS 403 错误是由于 uesp 指定的某些权限相关问题而导致的
答案3
您需要设置 DNS 服务器或主机文件才能使其正常工作。当您尝试访问子域时,客户端会认为“mailroom”是 TLD,并在 DNS 根区域中搜索它。
如果您只想使用 DNS 执行该一台服务器,那么只需创建一个名为“邮件服务器”的区域,使其默认的 A 记录转到实际服务器,并为指向同一 IP 的“子域”指定一个 A 记录即可。