Re: Использование try_files
Alexander Moskalenko
alexander.moskalenko at gmail.com
Fri Sep 6 07:55:10 UTC 2013
location "^/(?<filename>.*)\.(php|html)$" {
fastcgi_pass ...;
fastcgi_param SCRIPT_FILENAME /path/to/index.php;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param QUERY_STRING key=$filename;
}
2013/9/6 Sargas <sargaskn at gmail.com>:
> Сейчас используется
>
> if (!-e $request_filename) {
> rewrite ^/(.*)\.(php|html)$ /index.php?key=$1 break;
> }
>
> Хочется без if'а
>
>
>
> 4 сентября 2013 г., 3:25 пользователь Sargas <sargaskn at gmail.com> написал:
>
>> Приветствую.
>>
>> Подскажите, пожалуйста как переписать апачевские реврайты
>>
>> RewriteCond %{REQUEST_FILENAME} !-d
>> RewriteCond %{REQUEST_FILENAME} !-f
>> RewriteRule ^(.*)\.(php|html)$ /index.php?key=$1 [L,QSA]
>>
>>
>> на nginx/FastCGI с использованием try_files
>>
>> В документации (http://sysoev.ru/nginx/docs/faq.html) есть пример с
>> именованным локейшеном
>>
>> location / {
>> try_files $uri $uri/ @drupal;
>> }
>>
>> location @drupal {
>> fastcgi_pass ...;
>>
>> fastcgi_param SCRIPT_FILENAME /path/to/index.php;
>> fastcgi_param SCRIPT_NAME /index.php;
>> fastcgi_param QUERY_STRING q=$uri&$args;
>>
>> ... прочие fastcgi_param
>> }
>>
>> Вопрос в том как в QUERY_STRING передать имя файла, но без его расширения
>> (php|html).
>>
>> Чтобы работали подобные ссылки
>> http://www.example.com/channels.php <=>
>> http://www.example.com/index.php?key=channels
>>
>>
>>
>> И вопрос по директиве accept_mutex
>> http://nginx.org/ru/docs/ngx_core_module.html#accept_mutex
>> Судя по описанию выключать её не рекомендуется. А в какой ситуации может
>> понадобится её выключить? :)
>
>
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
Подробная информация о списке рассылки nginx-ru