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

如何将Heroku Flask站点嵌入WordPress别名路径且不跳转?

实现 my-wp-web.xyz/flask-app 无跳转访问Heroku Flask站点的方案

方案1:Direct Admin 配置服务器级反向代理(推荐,性能最优)

Direct Admin支持Apache或Nginx的反向代理配置,这是最稳定且性能最好的方式:

  • Apache 配置:
    登录Direct Admin,找到my-wp-web.xyz的站点管理,编辑.htaccess文件或站点的Apache配置,添加以下规则:

    <Location "/flask-app">
        ProxyPass "https://simple-flask-app.herokuapp.com/"
        ProxyPassReverse "https://simple-flask-app.herokuapp.com/"
    </Location>
    

    确保服务器已启用mod_proxy和mod_proxy_http模块(Direct Admin默认已开启,若未开可在后台模块管理中启用),配置后重启Apache服务。

  • Nginx 配置:
    在Direct Admin中找到站点的Nginx配置文件,添加以下规则:

    location /flask-app {
        proxy_pass https://simple-flask-app.herokuapp.com/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
    

    保存后重启Nginx服务即可生效。

方案2:WordPress 反向代理插件(快速测试,无需改服务器配置)

如果不想操作服务器配置,可以用WordPress插件实现反向代理:

  • 安装并激活如WP Reverse Proxy或Reverse Proxy Manager这类插件;
  • 在插件设置中添加代理规则:
    • 源路径:/flask-app
    • 目标URL:https://simple-flask-app.herokuapp.com/
  • 注意:这类插件依赖服务器允许URL转发,性能略低于服务器级代理,适合临时测试或非高流量场景。

方案3:Flask 应用适配子路径(避免资源加载错误)

由于Heroku站点默认使用根路径,通过/flask-app访问时,Flask生成的静态文件、路由链接可能指向根路径导致404,需在Flask中做适配:

  • 设置应用根路径:
    from flask import Flask
    app = Flask(__name__)
    app.config['APPLICATION_ROOT'] = '/flask-app'
    
  • 启用代理头部处理,确保Flask正确识别请求来源:
    from werkzeug.middleware.proxy_fix import ProxyFix
    app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1, x_proto=1, x_host=1)
    
    部署修改后的Flask应用到Heroku即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.22 11:54:23