我有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;
}
但是当我提出请求时,我有错误
2015/03/06 18:46:43 [错误] 11158#0:* 1 opendir() “/ home / dmac / www / hub / hub / modules / RestApi / Resources / Doc / dashboar”失败 (2:没有这样的文件或目录),客户端:127.0.0.1,服务器:hub.dev, 请求:“GET / api / dashboard / doc / HTTP / 1.1”,主持人:“hub.dev”
OR
2015/03/06 18:29:37 [错误] 9941#0:* 1 opendir()“/ home / dmac / www / hub / hub / modules / RestApi / Resources / Doc / consultan”失败(2 :没有这样的文件或目录),客户端:127.0.0.1,服务器:hub.dev,请求:“GET / api / consultant / doc / HTTP / 1.1”,主机:“hub.dev”
我尝试更改配置
location ~ ^/api/(consultant|dashboard)/doc/ {
但错误相同。
nginx版本:nginx / 1.7.10 ubuntu 14.04 x64
为什么我有这个错误?如何解决? 你知道为进程不同的模块配置nginx位置的任何方法吗?
答案 0 :(得分:2)
nginx版本 1.7.10
出错在最新版本中修复了错误。 所以只需更新nginx。
答案 1 :(得分:1)
我有同样的问题,通过在别名指令中的路径附加斜杠来解决它。
alias /home/dmac/www/hub/hub/modules/RestApi/Resources/Doc/$1/;
而不是
alias /home/dmac/www/hub/hub/modules/RestApi/Resources/Doc/$1;
我猜测某些代码会尝试删除一个尾部斜杠,但最终却吃掉了最后一个字符。