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

Windows10下Apache部署mod_wsgi+Flask出现INET_E_REDIRECT_FAILED错误求助

故障原因分析

首先Apache日志返回的308状态码代表永久重定向,结合你的部署配置,错误触发原因来自3个层面:

  • 路径导入错误:你的Flask实例app定义在E:\www\test\app\__init__.py中,但test.wsgi中from test import app的导入逻辑找不到对应实例,应用初始化失败触发异常重定向
  • Apache权限配置错误:<Directory>块配置的授权路径是E:/www/test/,但test.wsgi存放在E:/www/目录下,Apache没有该文件的访问权限,请求处理异常
  • 路由前缀不匹配:你将应用挂载到了/test路径下,但Flask默认不知道该前缀,生成重定向地址时会缺失/test前缀,导致浏览器跳转地址错误,抛出INET_E_REDIRECT_FAILED
修复步骤
  1. 修正test.wsgi导入逻辑
import sys
# 把应用所在目录加入Python搜索路径
sys.path.insert(0, 'E:/www/test')
sys.path.insert(0, 'E:/www')

# 从app目录导入Flask实例
from app import app as application
  1. 修正Apache配置
WSGIScriptAlias /test "E:/www/test.wsgi"
# 给wsgi文件所在目录授予访问权限
<Directory "E:/www">
    WSGIApplicationGroup %{GLOBAL}
    AllowOverride None
    Require all granted
</Directory>
# 传递挂载前缀给Flask,避免重定向地址错误
SetEnv SCRIPT_NAME /test
WSGIPassAuthorization On
  1. 可选:补充Flask应用配置,避免路由歧义
    在__init__.py中添加挂载前缀配置:
app = Flask(__name__)
app.debug = True
# 新增以下配置
app.config['APPLICATION_ROOT'] = '/test'
# 如需要关闭自动补全斜杠的重定向逻辑,可打开以下配置
# app.url_map.strict_slashes = False
验证方法

修改完成后重启Apache服务,访问http://你的服务地址/test或http://你的服务地址/test/index即可正常返回内容。如果仍有异常,查看Apache的error.log日志可定位具体报错信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:15:07