位置中的nginx别名-丢失最后一个字符
我有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
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;