在我的 PC(运行在 Ubuntu 上)中,我已经配置了 apache 和 php。我想在我的本地主机上创建一个子域“mysite.localhost”
我有一个文件夹 /var/www/mysite 我想要访问它http://mysite.localhost/
我按照步骤进行操作http://thinkingnectar.com/2008/getting-ubuntu-to-work-creating-subdomain-in-localhost/
基本上做了以下事情
编辑 /etc/host 并添加以下行
127.0.0.1 mysite.localhost
使用以下方法在 /etc/apache2/sites-available/mysite 中创建一个新的配置文件
gksudo gedit /etc/apache2/sites-available/mysite
<VirtualHost *:80>
DocumentRoot /var/www/mysite
ServerName mysite.localhost
<Directory /var/www/mysite>
Options Indexes FollowSymLinks MultiViews +Includes
AllowOverride all
Order allow,deny
allow from all
</Directory>
</VirtualHost>
保存文件并运行以下命令:
sudo a2ensite mysite
最后重新启动了 Apache 服务器。
sudo /etc/init.d/apache2 restart
但在浏览http://mysite.localhost/我收到此消息
“网络错误 (dns_unresolved_hostname)。您请求的主机“mysite.localhost”无法通过 DNS 解析。”
有人能指出可能出了什么问题吗?
答案1
我有几个建议可能会有帮助,但这些只是“盲目的尝试”,因为我现在无法访问可以设置与您类似情况的系统进行测试。
- 如果您在编辑之前已运行浏览器
/etc/hosts
,请重新启动浏览器。这样它就可以获取对hosts
文件的更改。 - 在您的问题中,您声明
mysite
要从 提供文件/var/www/mysite
,但在 Apache 配置文件中,您指定目录将从 提供DocumentRoot /home/username/mysite/
。两者之一需要更改;要么您期望文件来自/var/www/mysite
,要么DocumentRoot
必须将 设置为/var/www/mysite
(相应地,<Document ...>
声明也必须更改。)
如果这些方法都不起作用,那么您还应该尝试 ping 系统以确保它正确响应,如下所示:
$ ping mysite.localhost
ping: unknown host mysite.localhost
$ sudo vi /etc/hosts
(/etc/hosts now reads:
127.0.0.1 localhost mysite.localhost)
$ ping mysite.localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.044 ms
64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.037 ms
答案2
一切似乎都很好。请仔细检查各自文件中的以下条目。
127.0.0.1 mysite.localhost
ServerName mysite.localhost
答案3
我解决了这个问题。显然,子域创建过程没有任何问题。由于某些代理设置,我无法访问该页面。我绕过了 localhost 127.0.0.1 的所有代理设置(要在 Ubuntu 中执行此操作:转到浏览器编辑>首选项>高级>网络>设置选项卡并设置本地主机,127.0.0.1对于无代理字段)现在它可以工作了!
答案4
确保已在代理服务器中添加 localhost 和 127.0.0.1 条目,
路径:google chrome-->设置-->显示高级设置-->更改代理设置-->lan 设置-->代理服务器/高级/并在例外框中添加条目。