我在互联网上有一个专用的Linux机器,我想直接访问子域名,如:
http://abcd.example.com
我已经设置了httpd.conf,如下所示:
NameVirtualHost *:80 <VirtualHost *:80> ServerName www.example.com DocumentRoot /var/www/html/ </VirtualHost> <VirtualHost *:80> ServerName david.example.com DocumentRoot /home/david/public_html </VirtualHost> <VirtualHost *:80> ServerName matthew.example.com DocumentRoot /home/matthew/public_html </VirtualHost>
但子域名不可访问。 / etc / hosts中需要做什么更改? 我试过了:
127.0.0.1 localhost.localdomain localhost # Auto-generated hostname. Please do not remove this comment. 99.99.99.99 vps.example.com vps david.example.com matthew.example.com
和
127.0.0.1 localhost.localdomain localhost # Auto-generated hostname. Please do not remove this comment. 99.99.99.99 vps.example.com vps 99.99.99.99 david.example.com david 99.99.99.99 matthew.example.com matthew
但是都没有工作。
Q1:我需要更改任何DNS设置吗?
Q2:我需要在/ home还是/ home / [user]上设置一些特殊权限?
我假设通过“但子域不可访问”你的意思是他们不能远程访问。 如果是这种情况,那么将它们添加到/etc/hosts将无济于事,因为/etc/hosts只会覆盖本地主机名查找。 如果您希望从互联网访问子域名,则需要将其添加到您的域名的DNS。 您的托pipe服务提供商应该能够帮助您。
检查您的托pipe服务提供商,或者如果您有权访问您的域名面板创build所需的子域名,并在A Record中映射所有这些虚拟主机的IP地址,以便子域名将指向您的服务器和Apache通过您的虚拟主机configuration将通过所需的页面。
祝你好运!!
:d