<div dir="ltr"><div>Сейчас используется<br><br>if (!-e $request_filename) {<br> rewrite ^/(.*)\.(php|html)$ /index.php?key=$1 break;<br>}<br><br></div>Хочется без if'а <br><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">
4 сентября 2013 г., 3:25 пользователь Sargas <span dir="ltr"><<a href="mailto:sargaskn@gmail.com" target="_blank">sargaskn@gmail.com</a>></span> написал:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div><div>Приветствую.<br><br></div>Подскажите, пожалуйста как переписать апачевские реврайты<br><br>RewriteCond %{REQUEST_FILENAME} !-d<br>RewriteCond %{REQUEST_FILENAME} !-f<br>RewriteRule ^(.*)\.(php|html)$ /index.php?key=$1 [L,QSA]<br>
<br><br></div><div>на nginx/FastCGI с использованием try_files<br><br></div><div>В документации (<a href="http://sysoev.ru/nginx/docs/faq.html" target="_blank">http://sysoev.ru/nginx/docs/faq.html</a>) есть пример с именованным локейшеном<br>
<br><pre>location / {
try_files $uri $uri/ @drupal;
}
location @drupal {
fastcgi_pass ...;
fastcgi_param SCRIPT_FILENAME /path/to/<b>index.php</b>;
fastcgi_param SCRIPT_NAME /<b>index.php</b>;
fastcgi_param QUERY_STRING <b>q=$uri&$args</b>;
... прочие fastcgi_param
}</pre>Вопрос в том как в QUERY_STRING передать имя файла, но без его расширения (php|html).<br><br>Чтобы работали подобные ссылки<br><a href="http://www.example.com/channels.php" target="_blank">http://www.example.com/channels.php</a> <=> <a href="http://www.example.com/index.php?key=channels" target="_blank">http://www.example.com/index.php?key=channels</a><br>
<br><br><br></div><div>И вопрос по директиве accept_mutex <a href="http://nginx.org/ru/docs/ngx_core_module.html#accept_mutex" target="_blank">http://nginx.org/ru/docs/ngx_core_module.html#accept_mutex</a><br></div><div>
Судя по описанию выключать её не рекомендуется. А в какой ситуации может понадобится её выключить? :)<br>
</div></div>
</blockquote></div><br></div>