通过局域网的ip地址访问vhost



我正在运行WAMP并为我的项目使用CodeIgniter,并在我的vhost上安装:

<VirtualHost *:80>
    ServerAdmin admin@yahoo.com
    DocumentRoot "C:/wamp/www/myproject/assets"
    ServerName myproject.dev
    ErrorLog "logs/myproject.dev-error.log"
    CustomLog "logs/myproject.dev-access.log" common
</VirtualHost>

现在,为了访问它,我在windows/system32/drivers/etc/hosts上添加了这行:

127.0.0.1 myproject.dev

现在对于网络上的其他计算机,我必须编辑每台计算机的hosts文件,以便它们可以访问我的虚拟主机。(是的,当然我必须使用我的ip地址而不是其他计算机的127.0.0.1)

现在我的问题是,是否有一种方法,他们可以访问我的项目只使用我的ip地址在浏览器的地址栏像这样?

http://192.168.1.112/myproject

我的意思是有100个用户将访问这个项目,如果我编辑每个人的hosts文件,这是一个很大的麻烦。比如在.htaccess, CodeIgniter的routes,或者<virtualHost>

中添加一些东西

注意:顺便说一下,当我们仍然不使用Codeigniter(纯PHP代码)时,这不是问题。但是由于Codeigniter的结构,我们不能再这样做了。

您可以添加一个指向您的IP地址的DNS条目并将其设置为apache响应的服务器名吗?

或者,您可以根据IP地址和端口进行虚拟主机,如下所示:

http://httpd.apache.org/docs/2.2/vhosts/ip-based.html

总之,你应该能够做到:

<VirtualHost 192.168.1.112:8000>
  ServerAdmin admin@yahoo.com
  DocumentRoot "C:/wamp/www/myproject/assets"
  ServerName myproject.dev
  ErrorLog "logs/myproject.dev-error.log"
  CustomLog "logs/myproject.dev-access.log" common
</VirtualHost>

让人们通过

访问它
http://192.168.1.112:8000/myproject

但是,如果您使用基于ip的虚拟主机

,请不要忘记为端口8000(或您选择的任何端口)添加Listen指令。

你可以在wamp服务器中创建一个别名/myproject,并将文档根目录指向'C:/wamp/www/myproject/assets'

在wamp服务器系统托盘图标中选择"在线",确保您已将wamp服务器状态设置为在线。

最新更新