如何在遗留 Flask 应用程序中实现个性化 URL?
How to implement vanity URLs in a legacy Flask app?
我遇到一个问题,我需要将旧版 Flask 应用程序中的现有 URL 重定向或替换为更 "vanity" URL 的方案。
例如:
www.example.org/camp -> 确实指向 https://example.org/connect/rally_camps/register
虽然我设法使用 nginx 配置完成这项工作(这是使用典型的 uwsgi + 反向代理 nginx 配置作为 serverd):
location /camp {
rewrite ^/.* https://example.org/connect/rally_camps/register permanent;
}
当我点击虚荣心时 URL 我被重定向到非虚荣心 URL(长)。这显然看起来很难看......我不确定是否有办法告诉 nginx 重定向但保持不变 URL 或者这需要一些 Flask 工作......当用户点击虚荣心时 301 重定向 URL 长 URL 也许吧?但我认为这会再次改变 URL...有什么想法吗?
谢谢!
假设您不需要捕获 /camp/
之后的任何内容,这个 nginx 配置应该可以做到:
location /camp {
rewrite ^/.* /connect/rally_camps/register ;
}
If a replacement string starts with “http://”, “https://”, or “$scheme”, the processing stops and the redirect is returned to a client.
换句话说,如果您不想要重定向,则替换字符串不能以这些前缀中的任何一个开头。
permanent
标志也会产生重定向,因此您也不能使用它。
我遇到一个问题,我需要将旧版 Flask 应用程序中的现有 URL 重定向或替换为更 "vanity" URL 的方案。
例如:
www.example.org/camp -> 确实指向 https://example.org/connect/rally_camps/register
虽然我设法使用 nginx 配置完成这项工作(这是使用典型的 uwsgi + 反向代理 nginx 配置作为 serverd):
location /camp {
rewrite ^/.* https://example.org/connect/rally_camps/register permanent;
}
当我点击虚荣心时 URL 我被重定向到非虚荣心 URL(长)。这显然看起来很难看......我不确定是否有办法告诉 nginx 重定向但保持不变 URL 或者这需要一些 Flask 工作......当用户点击虚荣心时 301 重定向 URL 长 URL 也许吧?但我认为这会再次改变 URL...有什么想法吗?
谢谢!
假设您不需要捕获 /camp/
之后的任何内容,这个 nginx 配置应该可以做到:
location /camp {
rewrite ^/.* /connect/rally_camps/register ;
}
If a replacement string starts with “http://”, “https://”, or “$scheme”, the processing stops and the redirect is returned to a client.
换句话说,如果您不想要重定向,则替换字符串不能以这些前缀中的任何一个开头。
permanent
标志也会产生重定向,因此您也不能使用它。