ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: alias issue again



On 30.11.2011 18:31, Валентин Бартенев wrote:

-location /pma/$ {
+location /pma/ {

Да и это ещё не всё.

Даже исправить указанную мной проблему, то после того, как он в этот локейшн
попадет, то произойдет внутренний редирект на /pma/index.php

Файл у вас лежит тут: /usr/local/www/phpMyAdmin/index.php

а location ~ \.php$  c fastcgi_pass передаст:

fastcgi_param   SCRIPT_FILENAME /usr/local/www$fastcgi_script_name;

т.е. /usr/local/www/pma/index.php

Сдается мне, rewrite ^/pma/(.+)$  /phpMyAdmin/$1  - это именно то, что вы вообще
хотите.

скорее всего ему не только /pma/ нужно будет на сервере,
но и другие locations тоже. поэтому наверное - лучше изначально
писать легко масштабируемую конфигурацию, используя вложенные
locations, т.е. примерно так:

server {
    ...
    location /pma/ {
        ...
        location ~ \.php$ {
        ...
        }
    }
}

тогда все другие locations на глобальном уровне конфига
будут никак не связаны с location ~ \.php$ внутри location /pma/
и их можно будет конфигурировать полностью независимо друг от друга.

Попробуйте так:

server {
         listen       80;
         server_name  localhost;

         #charset koi8-r;

         #access_log  logs/host.access.log  main;

         location / {
             root   /usr/local/www;
             index  index.html index.htm index.php;
         }

         location ~ \.php$       {
               rewrite ^/pma/(.+)$  /phpMyAdmin/$1 break;

               fastcgi_pass    unix:/tmp/php-fpm.sock;
               fastcgi_index   index.php;
               fastcgi_param   DOCUMENT_ROOT /usr/local/www;
               fastcgi_param   SCRIPT_FILENAME 
/usr/local/www$fastcgi_script_name;
               include         fastcgi_params;
         }

         error_page   500 502 503 504  /50x.html;
         location = /50x.html {
                 root   /usr/local/www/nginx-dist;
         }
}

я представляю во что превратится конфиг, если надо будет добавить кроме
/pma/ еще и другие какие-то location`ы и как это все потом поддерживать.

вместо rewrite ^/pma/(.+)$  /phpMyAdmin/$1 break;
в конфиге наверное лучше использовать alias все-таки.
судя по документации именно для этого директива alias и придумана.

--
Best regards,
 Gena

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.