使用 FastCGI 部署 Flask 应用程序,意外的应用程序根目录

Deploy Flask app with FastCGI, unexpected application root

我按照教程here将我用flask制作的网站部署到了bluehost。即我使用了 apache 和 fastcgi。在我的 application.fcgi 文件中,我有:

#! /home2/wandonye/python/python34/envs/flask/bin/python
project = "vshare"

from flup.server.fcgi import WSGIServer
from vshare import create_app
application = create_app()

WSGIServer(application).run()

但是 url_for 生成的每个 link 中都有一个额外的 myapplication.fcgi。因此,我得到的不是 "www.mydomain.com/signin",而是 "www.mydomain.com/myapplication.fcgi/signin"。

感觉我的PROJECT_ROOT变了。

我以前在自己电脑上用apache+uWSGI部署网站没问题

我应该记住 fastcgi 有什么特别之处吗?如何删除 link 中不需要的 "myapplication.fcgi"。

我终于找到了解决办法here

问题是 fcgi 的基本问题,与 apache 设置无关。所以解决它的唯一方法是更改​​来自 url_for 的字符串,删除不需要的“xxx.fcgi”