因此,我有一个flask应用程序,它在未部署时可以很好地工作。假设它有/index/
和/home/
和/home/field/
的页面。现在我已经使用Apache和mod_wsgi部署了这个应用程序,它需要为每个URL提供一个前缀。在
现在,它应该看起来像/newapp/index/
和{
因此,我更改了所有的URL以包含新的/newapp/
前缀,但是唯一可以使用它的URL是原始的/index/
URL。所有其他返回
Not Found The requested URL was not found on the server.
在浏览器中单击该URL时。我肯定在我的main.py
中处理了这个路由,所以我不知道为什么找不到它。在
有人知道怎么回事吗?在
编辑:添加一些代码
基本上,我更改了main.py
中的所有代码:
原版:
@app.route('/')
@app.route('/index/', methods=['GET', 'POST'])
def index():
#Stuff
@app.route('/home/')
def farms():
#More stuff
@app.route('/home/<selector>')
def fields(selector):
#Further stuff
致。。。。在
新代码
^{pr2}$我这么做是因为我使用的域名已经有了另一个Flask应用程序,所以我不得不区分这两个应用程序。另外,我希望将来会有更多的flask应用程序,所以这个newapp
将成为任何给定flask应用程序的标识符。在
我变了主.py我的模板中也包含了所有的href
。因此,href
s从
href=/index/
到
href=/newapp/index/
而且,每当我点击一个链接时,我都会看到上面的错误
更多信息:
所以,检查apache错误日志,一个错误会说,File does not exist: /var/www/flask_util.js,
,因为在我的main.py
中,我调用from flask_util_js import FlaskUtilJs
。我不确定这是否与URL路由有关,但可能是这样
不需要在代码中添加前缀。在
假设你有代码
然后将别名设置为www.myserver.com/app/在
^{pr2}$服务器应该自动映射www.myserver.com/app/hi在你的申请中。在
但是,如果将映射设置为
您的WSGI应用程序将只接收对/hi的调用(服务器去掉前缀),因此它将找不到匹配的路径并返回notfound。在
相关问题 更多 >
编程相关推荐