0

我正在一个使用 wamp 的 php 项目中工作。我在我的公共服务器上安装了这些 wamp,所以到目前为止,当我点击 204.XXX.XX.XX/projectname 时,我可以从我大学内的任何计算机访问。现在我不想显示这个 localhost 主屏幕,所以我尝试了虚拟主机配置。

C:\Windows\System32\drivers\etc\hosts 文件

I added 
204.XXX.XX.XX   api.local   #api

httpd-vhosts.conf

<VirtualHost *:80>
  ServerName api.local
  ServerAlias api.local
  DocumentRoot "c:/wamp64/www/api"
  <Directory "c:/wamp64/www/api/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

我已经启用了虚拟主机。

现在从其他计算机我无法访问这个 api.local 项目。我该如何解决这个问题?

4

1 回答 1

1

原因是另一台计算机不知道在哪里找到api.local。浏览器将在注册为在其他 PC 上使用的 DNS 服务器中查找该域名,但显然找不到。

所以其他PC需要知道你进入的时候要去的ip地址api.local。您可以通过多种方式做到这一点。

如果您的 Uni 技术人员允许您将此域名添加到他们的 DNS 服务器,这是最好的方法。

但如果他们不允许这样做,那么您将不得不像这样在其他 PC 上编辑 HOSTS 文件

204.xxx.xxx.xxx api.local

现在,这台 PC 将知道在哪里可以找到您的站点。但是,HOSTS 文件通常受到很好的保护,您需要管理员访问权限才能更改它,您的管理员可能不允许这样做。

另一种方法是使站点在不同的端口上可用,然后您可以使用 WAMPServer PC ip 地址和端口号像这样访问您的站点

Listen 8000
<VirtualHost *:8000>
  ServerName api.local
  ServerAlias api.local
  DocumentRoot "c:/wamp64/www/api"
  <Directory "c:/wamp64/www/api/">
    Options +Indexes +Includes +FollowSymLinks +MultiViews
    AllowOverride All
    Require all granted
  </Directory>
</VirtualHost>

现在204.xxx.xxx.xxx:8000用作站点地址,您应该可以访问您的站点

于 2018-05-03T18:28:33.690 回答