Проблема с index index.html и rewrite
Igor Sysoev
is at rambler-co.ru
Fri Aug 15 16:23:31 MSD 2008
On Fri, Aug 15, 2008 at 04:09:52PM +0400, Владислав Комиссаров wrote:
> Ситуация следующая.
>
> server {
> ...
> set $srv_root /var/www/domain.ru/htdocs;
> ...
>
> location / {
> root $srv_root;
> index index.html;
>
> if (!-f $request_filename){
> rewrite (.*) /index2.html;
> }
> }
>
> location /public/ {
> root $srv_root;
> }
> }
Зачем статичный root определять через переменные ?
> При таком конфиге, я ожидаю что при запросе http://www.domain.ru/ будет
> произведен внутренний редирект на /index.html, который не попадет в !-f
> $request_filename и сервер отдаст клиенту /var/www/
> domain.ru/htdocs/index.html, но вместо этого клиенту отдается index2.html
>
> Есть предположение, что при внутреннем редиректе на /index.html в
> $request_filename остается "/".
if (!-f $request_filename) выполняется раньше поиска index.html для /.
Не нужно использовать "if (!-f $request_filename)" !
Не нужно использовать "if (!-f $request_filename)" !
Не нужно использовать "if (!-f $request_filename)" !
Не нужно!
root /var/www/domain.ru/htdocs;
location / {
index index.html;
error_page 404 = /index2.html;
}
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list