2013-08-07 3 views
0

Я работаю над окнами и с помощью Winginx, изменяя файл nginx.conf в папке conf. Я изменил вверх блок сервера, слушающий порт следующим образом:stuck on директива location nginx

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; 
} 
} 

Папка изображения находится в домашней папке в winginx и добавляется в домен через hostseditor. Однако, когда я использую URL , я получаю ошибку 404.

Если директива местоположение изменено на:

location/{ 
} 

Все работает отлично после этого. Никакие регулярные выражения не работают, кроме как если бы я соответствовал «/». Я прочитал директиву о местоположении, но не нашел подходящей причины. Было бы очень полезно, если бы кто-нибудь мог указать на ошибку. Благодарю.

ответ

2

Причина в том, что директива location соответствует URI (точнее, путь к URI запроса), а не Host.

При использовании , ваш браузер посылает запрос, как это:

GET/HTTP/1.1 
Host: images 

Обратите внимание, что запрос URI является /.