Правильный реврайт nginx в подпапках с одинаковыми проектами. Как?

Помогите, уже пол-дня бьюсь, но пока никак.


Есть основной хост nginx, а в нем куча папок в каждой из которых установлена копия проекта. Проект требует реврайты, например test.domain.com/project1/login/ должно работать нормально.


Текущий конфиг такой:

server {
    listen 80 default_server;
    server_name _; 
    server_name_in_redirect off;
    root  /usr/share/nginx/default;
}

server {
        listen   80; ## listen for ipv4; this line is default and implied

        root /usr/share/nginx/www;
        index index.php index.html index.htm;

        server_name test.domain.com;

        location / {
                try_files $uri $uri/ @handler;
                expires 30d;
        }

        ## These locations would be hidden by .htaccess normally
        location ~* ^/.*/lib/                { deny all; }
        location ~* ^/.*/cache/          { deny all; }

        location /. {
            return 404;
        }

        location @handler {
            rewrite / /index.php;
        }

        location ~ .php/ { ## Forward paths like /js/index.php/x.js to relevant handler
            rewrite ^(.*.php)/ $1 last;
        }

        location ~* \.php$ {
                if (!-e $request_filename) { rewrite / /index.php last; } 
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/tmp/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }

        location ~ /\.ht {
                deny all;
        }
}


Как сделать чтобы реврайты работали для подпапок? Сейчас выдает 500 ошибку.
  • Вопрос задан
  • 4343 просмотра
Пригласить эксперта
Ответы на вопрос 1
Проверьте выдает ли 500 если test.domain.com/project1/login/index.php
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы