这篇文章与部署AirBnBs knowledge repo app。
有关我们在服务器的子路径上托管我们的知识库 - 例如https://aws.our-server-uri.com/knowledge-repo
,我遇到了加载静态内容和重定向的问题。
总之,我无法让knowledge_repo Flask应用程序知道应用程序正在子路径上运行。
问题
我遇到的第一个问题是让gunicorn知道上下文路由,以便成功找到静态文件,这些文件现在位于/knowledge-repo/static/...
而不是相对于根URL。我在运行SCRIPT_NAME
之前将/knowledge-repo
环境变量设置为knowledge_repo --repo . deploy
,从而解决了这个问题。 我将此包含在内,以供参考我尝试过的内容以及更好解决方案的潜在建议。
第二个问题尚未解决,它将我们的上下文路由动态地添加到Web应用程序生成的重定向URL。例如,顶部导航栏中的Home
按钮会将用户重定向到根网址(在我的示例中为https://aws.our-server-uri.com/
)。我需要使用flask应用程序来了解我的上下文路由,并将/knowledge-repo/
附加到页面根目录中以生成所有链接。
我尝试了什么:
我想避免分支和修改此回购,因此我专注于不涉及编辑Flask app html的方法,例如设置<base>
标记。
SCRIPT_NAME
环境变量,但无济于事。config.py
中的一些变量,我在运行--config config.py
时使用knowledge_repo deploy
标记传递了这些变量,但似乎无法找到任何可行的技巧答案 0 :(得分:1)
我做了一些代码更改以使其正常工作。 我做的代码更改是,
。 Here是代码更改。