通过 LAN 上的 IP 地址访问虚拟主机
Access vhost via ip address on lan
我是 运行 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 个用户将访问该项目,如果我编辑每个人的主机文件,那将是一个很大的麻烦。比如向 .htaccess
或 CodeIgniter 的 routes
添加内容,或向 <virtualHost>
添加内容
注意:
顺便说一句,当我们仍然不使用 Codeigniter(纯 PHP 代码)时,这不是问题。但是因为Codeigniter的结构,我们不能再做了。
您能否只添加一个指向您的 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 指令
在 wamp 服务器中创建一个名为 /myproject 的别名并将文档根目录指向 'C:/wamp/www/myproject/assets'
可能会奏效
通过在 wamp 服务器系统托盘图标中选择 'Put Online',确保您已将 wamp 服务器状态设置为在线。
我是 运行 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 个用户将访问该项目,如果我编辑每个人的主机文件,那将是一个很大的麻烦。比如向 .htaccess
或 CodeIgniter 的 routes
添加内容,或向 <virtualHost>
注意: 顺便说一句,当我们仍然不使用 Codeigniter(纯 PHP 代码)时,这不是问题。但是因为Codeigniter的结构,我们不能再做了。
您能否只添加一个指向您的 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 指令
在 wamp 服务器中创建一个名为 /myproject 的别名并将文档根目录指向 'C:/wamp/www/myproject/assets'
可能会奏效通过在 wamp 服务器系统托盘图标中选择 'Put Online',确保您已将 wamp 服务器状态设置为在线。