通过lan上的ip地址访问vhost

时间:2015-08-19 03:39:09

标签: php wamp vhosts

我正在运行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个用户可以访问该项目,如果我编辑每个人的主机文件,这将是一个很大的麻烦。就像向.htaccess或CodeIgniter的routes<virtualHost>

添加内容一样

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

2 个答案:

答案 0 :(得分:0)

您是否可以添加指向您的IP地址的DNS条目,并将其设置为apache响应的ServerName?

或者,您可以根据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指令

答案 1 :(得分:0)

您可能会在wamp服务器中创建一个名为 / myproject 的别名,并将文档根指向&#39; C:/ wamp / www / myproject / assets&#39;

通过选择&#39;放置在线&#39;确保您已将您的wamp服务器状态设置为在线在wamp服务器系统托盘图标。