Re: Как замапить url на файл?

Igor Sysoev igor на sysoev.ru
Вс Сен 25 09:34:17 UTC 2011


On Sun, Sep 25, 2011 at 04:59:24AM -0400, kuchumovn wrote:
> * Вот ещё засада была: пока пробовал
> вчера, поставил rewrite на permanent, и firefox это
> закешировал, и меня до сих пор этим
> rewrite-ом перенаправляет. Пришлось
> тестить теперь в другом браузере.
> 
> Игорь, я попробовал сделать так, как Вы
> написали:
> 
> 	root c:\путь к сайту;
> 
> 	location = / {
> 		try_files /обложка.html =404;
> 	}
> 
> 	location = / {
> 		try_files $uri.html =404;
> 	}
> 
> Welcome-файл показывается как нужно,
> картинки подгружаются.
> А вот если захожу на /1 то пишет 404, и в
> логах:
> 
> 2011/09/25 12:53:40 [error] 3524#6120: *97 CreateFile() "c:\путь к
> сайту/1" failed (2: The system cannot find the file specified),
> client: 127.0.0.1, server: localhost, request: "GET /1 HTTP/1.1", host:
> "localhost:8081"
> 
> В папке этой лежит файл 1.html, а nginx ищет
> файл 1.
> Хотя, вроде как, мы указали ему искать
> $uri.html. Может быть, этот второй location
> просто не применяется, так как "/" уже
> замаплен предыдущим location'ом?
> Версия - 1.1.4
> 
> И ещё в логах пишет:
> 
> 2011/09/25 12:55:36 [emerg] 2132#5396: duplicate location "/" in
> c:\путь к конфигу

Поэтому и не работает: два одинаковых location'а. Нужно убрать знак "="
из второго location'а:

 	location / {
 		try_files $uri.html =404;
 	}


-- 
Игорь Сысоев
http://sysoev.ru



Подробная информация о списке рассылки nginx-ru