卡在nginx位置指令上

时间:2013-08-07 09:05:05

标签: nginx webserver httpserver winginx

我正在使用Winginx工作,修改conf文件夹下的nginx.conf文件。我已经改变了监听端口的服务器块,如下所示:

server{
 listen 127.0.0.1:80;
 log_not_found off;
 charset utf-8;

 access_log logs/access.log main;

 location /images/ {
  root home/localhost/public_html;
  index index.php index.html;
 }
}

images文件夹位于winginx的主文件夹下,并通过hostseditor添加为域。但是,当我使用网址http://images时,我收到404错误。

如果location指令更改为:

location / {
}

一切正常。除非我匹配'/',否则任何正则表达式都不起作用。我已经阅读了位置指令,但找不到任何相关原因。如果有人能指出错误,将会有很大的帮助。感谢。

1 个答案:

答案 0 :(得分:2)

原因是location指令匹配URI(Request-URI的绝对路径更精确),而不是Host。

当您使用http://images时,您的浏览器会发送如下请求:

GET / HTTP/1.1
Host: images

请注意,请求URI为/