位置中的nginx别名-丢失最后一个字符

位置中的nginx别名-丢失最后一个字符,nginx,Nginx,我有nginx配置 其部分 location ~ ^/api/(?<module>.+)/doc/ { autoindex on; index index.html; alias /home/dmac/www/hub/hub/modules/RestApi/Resources/Doc/$1; error_log /var/log/nginx/hub-test-error.log debug; } 但同样的错误 nginx版本:nginx/1.7.10

我有nginx配置

其部分

location ~ ^/api/(?<module>.+)/doc/ {
    autoindex on;
    index index.html;
    alias /home/dmac/www/hub/hub/modules/RestApi/Resources/Doc/$1;
    error_log /var/log/nginx/hub-test-error.log debug;
}
但同样的错误

nginx版本:nginx/1.7.10 ubuntu 14.04 x64

为什么我会有这个错误?如何修复它?
您知道为不同模块配置nginx位置的其他方法吗

我也遇到了同样的问题,通过在alias指令中的路径上添加斜杠来解决

alias /home/dmac/www/hub/hub/modules/RestApi/Resources/Doc/$1/;
而不是

 alias /home/dmac/www/hub/hub/modules/RestApi/Resources/Doc/$1;

我猜有些代码试图删除尾随斜杠,但最终却吃掉了所有字符。

nginx版本1.7.10

在最新版本中,此错误已修复。
所以只需更新nginx。

您尝试过以前的版本吗?可能是最新版本中的新错误不,我不尝试以前的版本。但在我的家用电脑上,我有nginx1.4.6,我明天就试试。也许这能解决我的问题。我在这里写下我的进度,我尝试使用nginx1.4.6。结果是一样的。但是如果我禁用“自动索引”,我会出现错误*3目录索引“/home/dimon/www/symfony/crm.dev/src/Test/consultant”被禁止,客户端:127.0.0.1,服务器:crm.dev,请求:“GET/Test/consultant/doc/HTTP/1.1”,主机:“crm.dev”Nginx可以访问此目录。如果启用“自动索引”,错误与问题中相同(路径中没有最后一个字符)。也许您可以使用
而不是
别名
任何源?因为1.15.8也存在同样的问题。
 alias /home/dmac/www/hub/hub/modules/RestApi/Resources/Doc/$1;