Правила из htaccess
Igor Sysoev
is at rambler-co.ru
Mon May 25 10:13:20 MSD 2009
On Mon, May 25, 2009 at 01:46:28AM +0400, demiart_gmail wrote:
> Приветствую всех !
>
> Товарищи, если не затруднит, подскажите по переписыванию Rewrite'ов из .htaccess в nginx.
> Есть следующая небольшая конструкция:
>
> RewriteBase /
> RewriteCond %{REQUEST_FILENAME} !-f
> RewriteCond %{REQUEST_FILENAME} !-d
> #RewriteCond %{REQUEST_URI} ^(/component/option,com) [NC,OR]
> RewriteCond %{REQUEST_URI} (/|\.htm|\.php|\.html|/[^.]*)$ [NC]
> RewriteRule ^(content/|component/) index.php
>
> посидев в манувле(до этого не пользовался try_files), получилась следующая конструкция:
>
> location / {
> index index.php index.html index.htm;
> try_files $uri $uri/ @joomla;
> }
>
> location ~* \.(html|htm) {
> try_files $uri @joomla;
> }
>
> location ~* /[^.]*$ {
> try_files $uri @joomla;
> }
>
> location ~ \.php$ {
> try_files $uri @joomla;
> fastcgi_pass unix:/tmp/php-fpm.sock;
> fastcgi_index index.php;
> fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
> include fastcgi_params;
> }
>
> location @joomla {
> fastcgi_pass unix:/tmp/php-fpm.sock;
> fastcgi_param SCRIPT_FILENAME $document_root/index.php;
> include fastcgi_params;
> }
>
> в общем-то все работает, но хотелось-бы узнать, насколько правильно все это получилось, может есть какой-то более рациональный вариант ? а то у меня ощкщение что перемудрил)
Первые три location'а можно заменить на одно:
location ~* (\.html?|/|/[^.]*)$ {
index index.php index.html index.htm;
try_files $uri $uri/ @joomla;
}
> и еще, там есть закомментированная строка(опциональная), я так и не понял, как ее во все это вписать, так-же отдельным локейшном ? подскажите, если не сложно. .)
Возможно, как-то так:
location ^~ /component/option,com {
index index.php index.html index.htm;
try_files $uri $uri/ @joomla;
}
location ~* (\.html?|/|/[^.]*)$ {
...
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list