Добрый день. On Wed, Jan 20, 2016, Maxim Dounin wrote:
> Потому что SCRIPT_FILENAME у вас установлен в > $document_root$fastcgi_script_name, где > > - $document_root = /usr/local/www/vexim/index.php, т.к. > используется директива alias с полным заданием пути, > > - $fastcgi_script_name = /owa/index.php, т.к. это переменная > задаёт имя скрипта в пространстве адресов, а не файлов, и > соответственно не знает про alias. > > Чтобы работало, нужно задать в SCRIPT_FILENAME значение, которое > бы показывало на правильное имя файла, e.g.: > > fastcgi_param SCRIPT_FILENAME $request_filename; > > Отдельно отмечу, что задавать alias во внутреннем location'е в > nginx 1.9.4+ не надо, он корректно отнаследуется из внешнего > location'а. > Впрочем, лучше alias из внутреннего location'а убрать, как > предложено выше, тогда "try_files $uri =404" будет работать > штатно. В общем вот такая конфигурация работает: location /owa { alias /usr/local/www/vexim/; location ~ ^/owa(.+\.php)$ { try_files $uri =404; fastcgi_pass php-fpm; include fastcgi_params; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $request_filename; } } Спасибо за помощь! _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru