0
我使用nginx的1.4.3,并试图匹配长字符串或子长的URL是这样的:匹配子在nginx的位置
长的URL没有任何的正则表达式
location ~* /index.php?/english/Kbase/Article/IRS { proxy_pass http://backend; proxy_cache kbase-cache; <...> }
结果:没有什么是匹配的,但这样的网址存在。
长的URL与正则表达式
location ~* /idx/index.php?/Kbase/branch/Article/\d+.* { proxy_pass http://backend; <....> }
结果:没有匹配的新闻
。
location ~* /idx/index.php?/Tickets/Ticket/ListAll/[\d,]*/6/[\d,]*/[\d,]*.* { proxy_pass http://backend; <....> }
结果:没有匹配的新闻
。
location ~* \.(jpg|jpeg|gif|png)$ { root /opt/httpdocs; }
结果:工作正常。
。
location/{ proxy_pass http://backend; }
结果:工作正常。
例子1,2,3:我尝试了所有的变化来匹配至少子字符串。第条。, ,它甚至不起作用。* IRS不起作用,但第四个例子工作正常。
我错过了什么或什么?请指教。
的'?'意味着前述'p'是可选的。你的意思是一个字面的??你需要转义它('\?')。 –
是的,即使我逃脱\?它仍然不匹配。甚至最简单的表单位置〜。* IRS $ {return 410; }不起作用。我错过了什么? – user3091890