<div dir="ltr">Ситуация следующая.<br><br>server {<br>...<br>&nbsp; set $srv_root&nbsp; /var/www/<a href="http://domain.ru/htdocs">domain.ru/htdocs</a>;<br>...<br><br>&nbsp; location / {<br>&nbsp;&nbsp;&nbsp; root $srv_root;<br>&nbsp;&nbsp;&nbsp; index index.html;<br>
<br>&nbsp;&nbsp;&nbsp; if (!-f $request_filename){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; rewrite (.*) /index2.html;<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp; }<br><br>&nbsp; location /public/ {<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; root $srv_root;<br>&nbsp; }<br>}<br><br>При таком конфиге, я ожидаю что при запросе <a href="http://www.domain.ru/">http://www.domain.ru/</a> будет произведен внутренний редирект на /index.html, который не попадет в !-f $request_filename и сервер отдаст клиенту /var/www/<a href="http://domain.ru/htdocs/index.html">domain.ru/htdocs/index.html</a>, но вместо этого клиенту отдается index2.html<br>
<br>Есть предположение, что при внутреннем редиректе на /index.html в $request_filename остается &quot;/&quot;.<br><br>Если запросить <a href="http://www.domain.ru/index.html">http://www.domain.ru/index.html</a> - все отдается верно.<br>
<br>/usr/local/nginx/sbin/nginx -V<br>nginx version: nginx/0.7.10<br>built by gcc 4.2.3 (Ubuntu 4.2.3-2ubuntu7)<br>configure arguments: --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access_log --error-log-path=/var/log/nginx/error_log --pid-path=/var/run/nginx.pid --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --with-pcre=../pcre-7.7 --with-zlib=../zlib-1.2.3 --without-select_module --without-http_ssi_module --without-http_userid_module --without-http_auth_basic_module --without-http_geo_module --without-http_map_module --without-http_referer_module --without-http_memcached_module --without-http_empty_gif_module --without-http_browser_module --without-http_upstream_ip_hash_module --without-mail_pop3_module --without-mail_imap_module --without-mail_smtp_module --with-http_stub_status_module<br>
</div>