在Ubuntu上设置的Localhost子域名无法正常工作

在我的电脑(在Ubuntu上运行),我已经configuration了Apache和PHP。 我想在我的本地主机上创build一个子域“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中使用创build一个新的configuration文件

 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/时,我收到了这个消息

“networking错误(dns_unresolved_hostname)。您请求的主机”mysite.localhost“无法通过DNSparsing。”

任何人都可以提出什么可能会出错?

我有几个build议可能会有所帮助,但这些只是“黑暗中的镜头”,因为我现在无法访问系统,所以我可以设置一个类似于您的testing环境。

  1. 如果您在编辑/etc/hosts之前运行了浏览器,请重新启动浏览器。 这应该允许它select你的hosts文件的变化。
  2. 在你的问题中,你声明你想从/var/www/mysite提供你的mysite文件,但是在你的Apacheconfiguration文件中,你指定从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 

一切似乎都没问题。 请仔细检查以下各自文件中的条目。

 127.0.0.1 mysite.localhost ServerName mysite.localhost 

我解决了这个问题。 显然,子域创build过程没有任何问题。 由于某些代理设置,我无法访问该页面。 我绕过了本地主机127.0.0.1的所有代理设置(在Ubuntu中执行此操作:转到浏览器编辑>首选项>高级>networking>设置选项卡,并设置本地主机,127.0.0.1为无代理字段)现在,它的工作原理!

确保您已经在代理服务器中添加了localhost和127.0.0.1条目,

path:谷歌浏览器 – >设置 – >显示高级设置 – >更改代理设置 – >局域网设置 – >代理服务器/高级/和添加条目在例外框。