Nginx настройка обработки php с перенаправлением

Бьюсь над настройками nginx.

Есть два php-скрипта:

/web/site/www/index.php /web/site/www/admin.php

Конфиг виртуального хоста такой:

    server{
            listen *:80;
            server_name site.local;
            root /web/site/www;
            index index.php;
        
            charset_types *;
            charset windows-1251;
        
            location / {
                if (!-e $request_filename){
                    rewrite ^(.*)$ /index.php;
                }
            }
        
            location /admin {
                if (!-e $request_filename){
                    rewrite ^(.*)$ /admin.php;
                }
            }
        
            location ~ \.php {
                try_files $uri = 404;
                fastcgi_pass 127.0.0.1:9000;
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                fastcgi_param PHP_VALUE default_charset=windows-1251;
                charset windows-1251;
            }
    
            location ~/\.ht {
                deny all;
            }
        }

Соответственно, нужно чтобы при запросе site.local/ или site.local/some/path/other/path и т.п. было перенаправление на /web/site/www/index.php

А при запросе site.local/admin или site.local/admin/other/path и т.п. было перенаправление на /web/site/www/admin.php

Так вот на локальной машине все работает как надо.

Выношу на другой сервер (меняю server_name и document_root конечно же) - с запросами типа

site.local/ или site.local/some/path/other/path и т.п.

все ок.

А с запросами типа

site.local/admin или site.local/admin/other/path и т.п.

бывает по разному. Например http://site.local/admin - предлагает скачать admin.php, не выполняет http://site.local/admin/ - обрабатывает верно http://site.local/admin/path/one - обрабатывает верно http://site.local/admin/path/two - снова предлагает скачать.

Уже голову сломал. Подскажите, как правильно настроить обработку php-скриптов с такими редиректами?

Повторюсь, на локальной машине все работает как надо, т.е. сам код сайта рабочий (ранее он под апачем работал, сейчас вот понадобилось его под nginx запустить)


Ответы (0 шт):