Wamp Server IP跳转问题求助:访问项目时IP变为localhost
我之前也碰到过完全一样的情况,一开始以为是Wamp的配置坑,后来排查下来其实是几个地方没设置对,给你一步步来的解决方案:
修改Apache主配置文件(httpd.conf)
找到Wamp安装目录下的bin/apache/apacheX.X.X/conf/httpd.conf(X.X.X是你的Apache版本号),搜索ServerName这一行,把原来的ServerName localhost:80改成:ServerName 192.168.1.7:80要是你想允许所有IP访问,也可以改成
ServerName *:80。改完先保存,别急着重启服务,继续处理下面的配置。检查虚拟主机配置(httpd-vhosts.conf)
如果你用了虚拟主机管理多个项目,打开bin/apache/apacheX.X.X/conf/extra/httpd-vhosts.conf,找到对应项目的<VirtualHost>块:- 把
ServerName localhost改成ServerName 192.168.1.7,或者额外加上ServerAlias *来匹配所有访问地址 - 确保
<Directory>配置允许外部访问,示例如下:<VirtualHost *:80> ServerName 192.168.1.7 DocumentRoot "C:/wamp64/www/myproject" <Directory "C:/wamp64/www/myproject"> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory> </VirtualHost>
另外还要确认httpd.conf里已经开启了虚拟主机配置——搜索
Include conf/extra/httpd-vhosts.conf,如果前面有#注释符号就去掉它。- 把
修正项目内部的硬编码URL
这是最容易被忽略的点!很多框架或CMS会把站点URL硬编码成localhost:- WordPress:打开项目根目录的
wp-config.php,添加或修改这两行:define('WP_HOME', 'http://192.168.1.7/myproject'); define('WP_SITEURL', 'http://192.168.1.7/myproject'); - Laravel/Symfony:修改项目根目录的
.env文件,把APP_URL改成http://192.168.1.7/myproject - 静态HTML/纯PHP:检查页面里的所有链接,把
http://localhost/myproject/改成相对路径(比如./page.html)或者直接用IP地址的绝对路径
- WordPress:打开项目根目录的
重启Wamp服务并测试
右键Wamp托盘图标,选择「Restart All Services」,等服务重启完成后:- 从本机访问
http://192.168.1.7/myproject,确认地址栏不会变回localhost - 用同一局域网内的其他设备(比如手机、另一台电脑)访问同一个地址,测试是否能正常打开
- 从本机访问
如果还是有问题,检查一下电脑的防火墙是否允许Apache的80端口对外通信,或者确认其他设备和你的电脑在同一个网段下(比如都是192.168.1.x)。
内容的提问来源于stack exchange,提问作者Subhash Shipu

