XAMPP本地运行时重定向至线上Web服务器问题求助
这种情况在迁移PrestaShop到本地时非常常见——核心原因是系统的数据库和配置文件里还存着线上域名的旧配置,导致访问本地站点时被强制重定向。按下面的步骤逐一排查修复:
修改数据库中的核心域名配置
打开PhpMyAdmin找到你的PrestaShop数据库,先进入ps_configuration表(注意:如果你的数据库前缀不是ps_,要换成实际使用的前缀):- 搜索
PS_SHOP_DOMAIN和PS_SHOP_DOMAIN_SSL这两个配置项,把它们的value字段改成localhost:81 - 确认
PS_BASE_URI的value是/prestashop/(和你本地的访问路径一致)
如果你用的是PrestaShop 1.7及以上版本,还需要检查
ps_shop_url表:- 找到对应店铺的记录,把
domain和domain_ssl字段修改为localhost:81 - 确保
physical_uri字段值为/prestashop/
- 搜索
更新本地配置文件
打开本地站点目录下的prestashop/config/settings.inc.php文件,找到以下两行:define('_PS_BASE_URL_', 'https://somon.gr'); define('_PS_BASE_URL_SSL_', 'https://somon.gr');将其替换为本地地址:
define('_PS_BASE_URL_', 'http://localhost:81'); define('_PS_BASE_URL_SSL_', 'http://localhost:81');(如果本地环境配置了SSL,可以保留
https,否则用http即可)清理PrestaShop缓存
删除本地prestashop/var/cache/目录下的所有文件和文件夹(旧版本PrestaShop的缓存目录是prestashop/cache/),这会强制系统读取新的配置,避免缓存里的旧域名信息干扰访问。检查.htaccess重定向规则
打开本地prestashop/.htaccess文件,查看是否存在强制跳转到somon.gr的规则,比如类似这样的代码:RewriteCond %{HTTP_HOST} !^somon\.gr$ [NC] RewriteRule ^(.*)$ https://somon.gr/$1 [L,R=301]把这类规则注释掉(在规则前加
#)或者直接删除,防止服务器层面的强制重定向。
完成以上操作后,再访问localhost:81/prestashop应该就能正常进入本地环境了。如果还是存在重定向问题,可以尝试清空浏览器缓存,或者用隐私模式打开页面测试。
内容的提问来源于stack exchange,提问作者Μενέλαος Λαζαρίδης

