为什么访问localhost项目路径会自动重定向到线上网站URL?
本地访问XAMPP站点跳转到线上域名的可能原因
- 项目本身的全局配置硬编码了线上域名:比如CMS(WordPress等)的站点地址配置、PHP框架的
APP_URL参数直接写死为www.project-name.com,程序收到请求后校验域名不匹配就会触发强制跳转。 - 目录下的
.htaccess规则配置了跳转:XAMPP的Apache默认会加载站点根目录下的.htaccess文件,如果里面写了路径匹配跳转、域名替换类的重写规则,就会将本地请求重定向到线上地址。 - Apache虚拟主机配置错误:你修改过XAMPP的
httpd-vhosts.conf配置文件,给对应项目配置的虚拟主机规则里绑定了线上域名作为ServerName,或者直接写了跳转逻辑,访问对应路径时触发跳转。 - 浏览器301永久重定向缓存:之前你访问该本地路径时,服务端返回过301永久重定向响应,该规则被浏览器持久化缓存了,哪怕现在后端配置已经修改,浏览器依然会直接读取缓存跳转到线上,可以用无痕模式访问验证是否属于该问题。
- 本地hosts文件配置了异常规则:如果你的系统hosts文件里添加了将
localhost映射到线上服务器IP的规则,或者针对project-name的匹配跳转规则,也会触发重定向。 - 页面base标签配置错误:项目公共模板里的
<base>标签href属性写为线上域名,会导致所有相对路径的跳转、资源加载都指向线上地址,部分场景下会触发整站跳转。 - 浏览器插件规则触发:你安装的重定向管理、广告拦截、域名补全类插件配置了匹配规则,识别到路径里的
project-name关键词后,自动将请求跳转到线上域名。
内容的提问来源于stack exchange,提问作者High T
相关产品推荐
相关产品推荐

