Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在传统Flask应用程序中实现虚荣URL?_Python_Url_Redirect_Nginx_Vanity Url - Fatal编程技术网

Python 如何在传统Flask应用程序中实现虚荣URL?

Python 如何在传统Flask应用程序中实现虚荣URL?,python,url,redirect,nginx,vanity-url,Python,Url,Redirect,Nginx,Vanity Url,我面临一个问题,我需要重定向或替换遗留Flask应用程序中的现有URL,以使用更“虚荣”的URL方案 例如: www.example.org/camp->真正指向 虽然我使用nginx config(这是使用典型的uwsgi+反向代理nginx config来进行服务器配置)成功地实现了这一点: 当我点击虚荣URL时,我被重定向到非虚荣URL(长URL)。这显然看起来很难看…我不确定是否有办法告诉nginx重定向,但保持相同的URL,或者这需要一些工作…当用户点击虚荣URL时301重定向到长UR

我面临一个问题,我需要重定向或替换遗留Flask应用程序中的现有URL,以使用更“虚荣”的URL方案

例如:

www.example.org/camp->真正指向

虽然我使用nginx config(这是使用典型的uwsgi+反向代理nginx config来进行服务器配置)成功地实现了这一点:

当我点击虚荣URL时,我被重定向到非虚荣URL(长URL)。这显然看起来很难看…我不确定是否有办法告诉nginx重定向,但保持相同的URL,或者这需要一些工作…当用户点击虚荣URL时301重定向到长URL可能?但我认为这会再次改变URL…有什么想法吗


谢谢

假设您不需要捕获
/camp/
之后的内容,此nginx配置应该可以:

location /camp {
       rewrite ^/.* /connect/rally_camps/register ;
}
从:

如果替换字符串以“http://”、“https://”或“$scheme”开头,则处理将停止,并将重定向返回到客户端

换句话说,如果不希望重定向,则替换字符串不能以这些前缀中的任何一个开头


permanent
标志也会产生重定向,因此您也不能使用它。

我忘了提到我很久以前就这样修复了它:D但是谢谢@Dag,我将它标记为正确答案:)
location /camp {
       rewrite ^/.* /connect/rally_camps/register ;
}