LINUX.ORG.RU

nginx redirect на index.php

 , ,


0

1

на апаче в htaccess

<IfModule mod_rewrite.c>                                                                                                                       
    RewriteEngine On                                                                                                                           
    RewriteCond %{REQUEST_FILENAME} !-f                                                                                                        
    RewriteCond %{REQUEST_FILENAME} !-d                                                                                                        
    RewriteRule ^(.*)$ /server/index.php?ACTION=$1 [NC,L,QSA]                                                                                  
</IfModule>

и полюбому запросу на http://example.com/server/123 отдается json

надо перевести на nginx+php-fpm, пробовал так

       location ~ ^/server(.*) {                                                                                                              
               if (!-e $request_filename) {                                                                                                   
                       rewrite ^(.*)$ /server/index.php?ACTION=$1 break;                                                                      
               }                                                                                                                              
       }

и так

location ~* ^/server(.*) {                                                                                                             
                fastcgi_index  index.php;                                                                                                      
                try_files $uri $uri/ /server/index.php?ACTION=$1;                                                                          
                fastcgi_pass   unix:/var/run/php-fpm.sock;                                                                
                fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;                                                           
                include        fastcgi_params;                                                                                                 
        }

но пока не работает


в итоге получилось вот так

location ~* /server/(.*)$ {
                set $action $1;
                rewrite ^(.*)$ /server/index.php?ACTION=$action break;
                fastcgi_index  index.php;
                try_files $uri $uri/ /server/index.php?$query_string;
                fastcgi_pass   unix:/var/run/php-fpm.sock;
                fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
                include        fastcgi_params;
}

Garcia ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.