我想通过虚拟目录提供静态资产,但我遇到了以下两个问题。
error.log文件中的示例:
2014/04/24 11:21:37 [error] 6808#6952: *15 directory index of "E:/fileserver/intranet/" is forbidden, client: 192.168.110.79, server: intraTest, request: "GET /intraStatic/employees/0C0C3E08-5056-A300-0E2C2FF5D437C6A3.png/ HTTP/1.1", host: "intraTest"
我的配置文件中的代码段:
location ~ /intraStatic/ {
autoindex off;
alias e:/fileserver/intranet/;
break;
}
由于日志包含别名中提到的路径,我知道位置块不会被忽略,但即使文件系统权限很好并且该文件存在且未被任何内容破坏。
由于谷歌只是回应结果,其中每一个都比以前的结果更无用,我只能希望这里的某个人可以对这个问题有所了解。
提前感谢您的回复!
答案 0 :(得分:0)
来自ngx_http_core_module:
如果位置由以斜杠字符结尾的前缀字符串定义,并且请求由proxy_pass,fastcgi_pass,scgi_pass,uwsgi_pass或memcached_pass之一处理,则响应URI等于此字符串的请求,但是如果没有尾部斜杠,则会将带有代码301的永久重定向返回到请求的URI,并附加斜杠。如果不需要,可以像下面这样定义URI和位置的完全匹配:
location /user/ {
proxy_pass http://user.example.com;
}
location = /user {
proxy_pass http://login.example.com;
}
所以试试:
location ~ /intraStatic {
答案 1 :(得分:0)
感谢大家的回复。
当我几乎沮丧地通过一个注释掉的应用程序后面的Tomcat服务器时,我突然想到使用更强力的解决方案,因为上面的建议在我的情况下似乎不起作用。 / p>
最后我重命名了文件系统文件夹并使用以下路径:
location ~ /intraStatic/ {
autoindex off;
root e:/fileserver/;
break;
}
非常感谢您花时间帮我找到解决方案。