rewrite rul

yokodzun nginx-forum на nginx.us
Ср Июл 20 17:59:16 UTC 2011


Пытаюсь сконвертить следующие rewrite
правила из синтаксиса mod_rewrite в
синтаксис Nginx:

RewriteBase /
  
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  # Administration URL rewriting.
  RewriteRule ^admin(.*)$ admin/index.php?$1 [L,QSA]
  
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  # Main URL rewriting.
  RewriteRule ^(.*)$ index.php?PAGE=$1 [L,QSA]

второе правило удалось застравить
работать, первое - никак.

конфиг такой:

server {
        listen       80;
        server_name domain.tld
        location /      {
                root  /v/http/domain.tld;
                try_files $uri $uri/ @rewrite;
                autoindex    off;
        }

                location @rewrite {
                rewrite ^/admin/(.*)$ /admin/index.php?$1;
                rewrite ^/(.*)$ /index.php?PAGE=$1;
                }


location ~ \.php$       {
                fastcgi_pass    unix:/tmp/php-fpm.sock;
                fastcgi_index  index.php;
                fastcgi_param   DOCUMENT_ROOT /v/http/domain.tld;
                fastcgi_param   SCRIPT_FILENAME
/v/http/domain.tld$fastcgi_script_name;
                include        fastcgi_params;
                        }
        }

Где я ошибся? Почему для /admin/ не
срабатывает правило?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,212699,212699#msg-212699



Подробная информация о списке рассылки nginx-ru