Php try_文件中的尾随斜杠导致502错误网关

Php try_文件中的尾随斜杠导致502错误网关,php,regex,nginx,Php,Regex,Nginx,先来点背景知识。我的nginx配置中有一些无扩展文件,它们被定向到一个php文件,例如: /galleries/1/17/22调用/galleries.php?mypath=$mypath&$args 库位置try_文件还检查是否存在静态版本。这在我以前的CentOS服务器上已经运行了好几年了,但我正在迁移到Ubuntu服务器,如果有人调用/gallers/,我会突然收到一个502错误的网关。不带尾随斜杠的调用/galleries不会出现问题 首先,这里是位置: location ~ ^/gal

先来点背景知识。我的nginx配置中有一些无扩展文件,它们被定向到一个php文件,例如:

/galleries/1/17/22调用/galleries.php?mypath=$mypath&$args

库位置try_文件还检查是否存在静态版本。这在我以前的CentOS服务器上已经运行了好几年了,但我正在迁移到Ubuntu服务器,如果有人调用/gallers/,我会突然收到一个502错误的网关。不带尾随斜杠的调用/galleries不会出现问题

首先,这里是位置:

location ~ ^/galleries(?P<mypath>/.*$|$) {
error_log  /var/log/nginx/galerrors.log debug;
try_files /pixcache$request_uri/index.html /galleries.php?mypath=$mypath&$args;
fastcgi_pass 127.0.0.1:9000;
}
如果找不到静态版本,调试将显示:

trying to use file: "/galleries.php?mypath=/51/646/31&" 
"/usr/share/nginx/html/galleries.php?mypath=/51/646/31&"
一切正常。但是,如果有人尝试使用/gallers/调用主页,我们会得到以下结果:

trying to use file: "/pixcache/galleries//index.html" 
"/usr/share/nginx/html/pixcache/galleries//index.html"
trying to use file: "/galleries.php?mypath=/&" 
"/usr/share/nginx/html/galleries.php?mypath=/&"

注意静态文件检查中的双斜杠“/”,而动态gall抛出了坏网关。这台旧服务器在这个位置运行了好几年,所以我真的很头疼。我已经盯着它看了好几个小时了。我在正则表达式方面很差劲,但这可能与此有关吗?

对于双斜杠问题,您可以激活该指令

merge_slashes

有关如何执行此操作的详细信息,请参见

,它不起作用。在配置中添加了合并斜杠。重新启动nginx后,try文件的尾部仍然有斜杠:
尝试使用文件:“/pixcache/galleries//index.html”“/usr/share/nginx/html/pixcache/galleries//index.html”
merge_slashes