【问题标题】:Access vhost via ip address on lan通过局域网上的ip地址访问vhost
【发布时间】:2015-11-12 04:48:11
【问题描述】:

我正在为我的项目运行 WAMP 并使用 CodeIgniter,并在我的虚拟主机上安装了它:

<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,或者&lt;virtualHost&gt;

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

【问题讨论】:

  • 就是这样。只需转到系统托盘中的 WAMP 图标,然后单击“联机”以允许它从外部访问
  • 已经上线。当我在浏览器上使用地址http://192.168.1.112/myproject时,它只显示标题Index of /下的文件

标签: php wamp vhosts


【解决方案1】:

您能否只添加一个指向您的 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 指令

【讨论】:

  • 非常感谢您的回答。端口监听成功了。现在我会考虑对我所有的项目都这样做。就像将每个项目分配到不同的端口一样。
【解决方案2】:

您可能会在 wamp 服务器中创建一个名为 /myproject 的别名并将文档根目录指向“C:/wamp/www/myproject/assets”

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

【讨论】:

  • 虚拟主机是一种更好、更灵活的解决方案,它允许您拥有多个项目,这些项目都由一个 Apache 提供服务。当您购买共享服务器时,它就像托管公司一样的机器人
猜你喜欢
  • 2021-03-03
  • 1970-01-01
  • 2015-01-01
  • 2010-12-05
  • 2022-01-14
  • 2019-01-12
  • 2018-07-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多