本地运行现有Contao 4网站时被强制跳转https的问题如何解决
Contao本地开发强制重定向HTTPS解决方案
优先级最高的几个排查修改点:
- 检查Contao站点根页配置
登录Contao后台(如果可正常访问),或者直接操作数据库tl_page表,筛选type = 'root'的站点根记录:- 将
ssl字段值从1改为0,关闭站点全局强制HTTPS要求 - 将
dns字段修改为你的本地访问地址localhost:8190,或者留空允许任意域名访问
修改后保存生效。
- 将
- 修改项目配置文件
对应你的Contao版本检查配置:- Contao 3版本:打开
system/config/localconfig.php,找到$GLOBALS['TL_CONFIG']['useSSL']配置项,将值改为false - Contao 4及以上版本:
- 检查
app/config/config.yml或者config/packages/contao.yaml:找到contao.security.ssl配置项,将值改为false - 检查
config/packages/framework.yaml:检查是否有router.require_https: true配置,存在则改为false
修改完成后执行缓存清理操作:
- 检查
# Contao 4+ 清缓存命令 php bin/console cache:clear --env=dev # Contao 3 直接删除system/cache目录下所有文件即可 - Contao 3版本:打开
- 临时跳过SSL检测启动服务
不需要修改配置的临时调试方案,启动内置服务时添加环境变量参数:HTTPS=off php -S localhost:8190 - 检查入口文件硬编码逻辑
打开web目录下的入口文件app.php或者index.php,搜索是否有判断访问协议后强制跳转HTTPS的硬编码逻辑,本地开发时可以临时注释对应代码段。
内容的提问来源于stack exchange,提问作者Andreas
相关产品推荐
相关产品推荐

