我遇到了一个问题,我需要将旧版Flask应用中的现有网址重定向或替换为更多"虚荣心"网址方案。
例如:
www.example.org/camp - >真的指向https://example.org/connect/rally_camps/register
虽然我设法使用nginx配置进行此工作(这是使用典型的uwsgi +反向代理nginx配置为服务器):
location /camp {
rewrite ^/.* https://example.org/connect/rally_camps/register permanent;
}
当我点击虚荣网址时,我被重定向到非虚荣网址(长网站)。这显然看起来很难看......我不确定是否有办法告诉nginx重定向但是保持相同的URL或者这需要一些Flask工作......当用户点击虚拟URL时,301重定向网址可能?但我认为这会再次改变网址......任何想法?
谢谢!
答案 0 :(得分:1)
假设你不需要捕获/camp/
之后的任何内容,这个nginx配置应该这样做:
location /camp {
rewrite ^/.* /connect/rally_camps/register ;
}
如果替换字符串以“http://”,“https://”或“$ scheme”开头,则处理停止并将重定向返回给客户端。
换句话说,如果您不想重定向,则替换字符串不能以任何这些前缀开头。
permanent
标志也会产生重定向,因此您也不能使用它。