Localhost在虚拟主机不工作时工作

时间:2018-02-06 03:31:44

标签: php laravel apache wamp

我在C:/ wamp64 /文件夹

上安装了wamp

我创建了一个名为sampleapp.dev的虚拟主机。但是当我访问它时它说"无法访问该网站"。

我的httpd-vhosts文件

# Virtual Hosts
#
<VirtualHost *:80>
  ServerName localhost
  ServerAlias localhost
  DocumentRoot "${INSTALL_DIR}/www"
  <Directory "${INSTALL_DIR}/www/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>

<VirtualHost *:80>
  ServerName sampleapp.dev
  DocumentRoot "C:/wamp64/www/sampleapp/public"
</VirtualHost>

我的主人档案

127.0.0.1   localhost
::1  localhost

127.0.0.1 sampleapp.dev
::1  sampleapp.dev

我做错了什么?

2 个答案:

答案 0 :(得分:0)

<VirtualHost *:80>
  ServerName sampleapp.dev
  ServerAlias sampleapp.dev
  DocumentRoot "C:/wamp64/www/sampleapp/public"
</VirtualHost>


<Directory "C:/wamp64/www/sampleapp/public">
   Options Indexes FollowSymLinks Includes ExecCGI
   AllowOverride All
   Require all granted
</Directory>

我的设定 它正在运作

答案 1 :(得分:0)

从localhost虚拟主机的定义中可以看出,您需要的不仅仅是定义的VH的名称,还必须告诉Apache谁可以访问您的新虚拟主机。

<Directory...>块告诉Apache这个,特别是Require local块,但其他参数也告诉Apache有关允许在这个新VH中完成的有用信息。

尝试以下修正案。

  

我已将sampleapp.dev更改为sampleapp.test。这是因为如果您使用Chrome浏览器,.dev tLD现在会做一些奇怪的事情。 Google购买了.dev tLD,Chrome现在会尝试在所有.dev tLD上强制使用SSL(https)。简单的解决方案就是使用其他内容,例如.local.test

# Virtual Hosts
#
<VirtualHost *:80>
  ServerName localhost
  ServerAlias localhost
  DocumentRoot "${INSTALL_DIR}/www"
  <Directory "${INSTALL_DIR}/www/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>

<VirtualHost *:80>
  ServerName sampleapp.test
  ServerAlias www.sampleapp.test
  DocumentRoot "${INSTALL_DIR}/www/sampleapp/public"
  <Directory "${INSTALL_DIR}/www/sampleapp/public/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require local
  </Directory>
</VirtualHost>

当我使用.test而不是.dev时,你还必须相应地更改你的HOSTS文件,然后从使用“以管理员身份运行”开始的命令窗口重启或刷新你的dnscache。

  

除非您确实希望将Universe允许进入您的服务器,否则还要避免使用Require all granted。如果您的路由器阻止了端口80,默认情况下它们不会实际进入您的WAMPServer。但是第二个你决定要向朋友展示你的新网站和端口转发端口80到你的WAMPServer PC,所有使用Require all granted的网站都会变得可见。最好只在您真正希望从互联网上看到的网站上进行更改。

>net stop dnscache
>net start dnscahce