分享一个Nginx rewrite 问号问题

Posted 371502685

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分享一个Nginx rewrite 问号问题相关的知识,希望对你有一定的参考价值。

由于换了一套程序,需要将类型这种url Show.aspx?BookID=105161 rewrite 成 Show.php?BookID=105161,开始以为很简单,直接写成下面这种
rewrite ^/Show.aspx?BookID=([0-9]+)$ /Show.php?BookID=$1 last,结果发现不行,直接404了,经过不断尝试发现这样可以:

/Show.aspx /zhang.php?$query_string last;

网上解释的原因是:

1.nginx在进行rewrite的正则表达式中只会将url中?前面的部分拿出来匹配

2.匹配完成后,?后面的内容将自动追加到url中(包含?),如果不让后面的内容追加上去,请在最后加上?即可;

个人感觉是个bug。

以上是关于分享一个Nginx rewrite 问号问题的主要内容,如果未能解决你的问题,请参考以下文章

Python 操作Redis

python爬虫入门----- 阿里巴巴供应商爬虫

Python词典设置默认值小技巧

《python学习手册(第4版)》pdf

Django settings.py 的media路径设置

Python中的赋值,浅拷贝和深拷贝的区别