You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Drupal 7更新模块时/authorize.php重定向HTTPS且提示不存在

我之前遇到过类似的Drupal 7开发环境更新跳转问题,结合你的情况,大概率是生产环境遗留的HTTPS配置在搞鬼,给你几个具体的排查和解决方向:

解决方向与步骤

1. 临时在settings.php中指定HTTP的$base_url

因为你没在settings.php里定义$base_url,Drupal会优先从数据库的变量表读取配置——而这个表是从生产环境复制来的,大概率还保留着HTTPS的地址。直接在开发环境的sites/default/settings.php末尾添加:

$base_url = 'http://你的开发环境域名'; // 示例:http://dev.example.com

保存后清除Drupal缓存,再尝试更新操作,authorize.php的跳转应该会使用正确的HTTP协议。

2. 检查并修正数据库中的URL相关变量

如果不想硬编码$base_url,可以直接修改数据库里的配置:

  • 用数据库管理工具(比如phpMyAdmin)打开你的Drupal数据库
  • 执行SQL查询:
SELECT name, value FROM variable WHERE name IN ('base_url', 'https', 'redirect_https');
  • 如果base_url的值是生产环境的HTTPS地址,把它改成开发环境的HTTP地址;如果https或redirect_https的值是1,改成0
  • 修改后,一定要清除Drupal缓存(可以手动删除sites/default/files/cache目录下的所有文件)

3. 彻底检查.htaccess的HTTPS重定向规则

虽然你说已经修改了.htaccess,但可能没完全移除强制HTTPS的规则:

  • 打开开发环境的.htaccess文件,查找类似以下的规则:
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
  • 把这些规则注释掉或者直接删除
  • 另外,检查文件末尾有没有针对authorize.php的特殊重定向规则,有的话也要确保是HTTP协议

4. 排查Apache虚拟主机配置

有时候虚拟主机的配置会覆盖.htaccess的规则:

  • 找到开发环境的Apache虚拟主机配置文件(通常在/etc/httpd/conf.d/或/etc/apache2/sites-available/目录下)
  • 检查是否有强制跳转到HTTPS的Redirect或RewriteRule指令
  • 如果有,注释掉这些指令,然后重启Apache服务(service httpd restart或service apache2 restart)

5. 验证FTP配置的站点地址

虽然FTP是文件传输,但确保你在Drupal更新页面填写的FTP站点地址是开发环境的HTTP域名,而不是生产的HTTPS地址,避免跳转逻辑混淆。

这些步骤应该能解决authorize.php被错误重定向到HTTPS的问题,本质上是开发环境的URL配置没有完全从生产环境的HTTPS切换过来。

内容的提问来源于stack exchange,提问作者Daanist

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 09:36:34