Правила из htaccess

demiart_gmail garrotte at demiart.ru
Mon May 25 01:46:28 MSD 2009


Приветствую всех !

Товарищи, если не затруднит, подскажите по переписыванию 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;
        }

в общем-то все работает, но хотелось-бы узнать, насколько правильно все это получилось, может есть какой-то более рациональный вариант ? а то у меня ощкщение что перемудрил) 

и еще, там есть закомментированная строка(опциональная), я так и не понял, как ее во все это вписать, так-же отдельным локейшном ? подскажите, если не сложно. .)

Заранее благодарен.
Сергей






More information about the nginx-ru mailing list