nginx, php-fpm, и несколько корней - как к правильно try_files?

Pingdom хороши: http://www.pingdom.com/

2
задан 11 January 2012 в 16:08
2 ответа

Проверьте свои параметры fastcgi_params. Скорее всего, ваш SCRIPT_FILENAME определен как $ document_root $ fastcgi_script_name, который явно указывает ему не учитывать псевдоним (часть $ document_root является явной частью)

Если вы хотите использовать псевдоним с PHP, вам, вероятно, следует определить SCRIPT_FILENAME как $ request_filename, которое принимает псевдоним во внимание.

0
ответ дан 3 December 2019 в 10:59

Для того, чтобы заставить его работать, fastcgi_param SCRIPT_FILENAME $ request_filename необходимо скопировать в блок местоположения, например:

location ^~ /app {
        alias /usr/share/nginx/www/website.com/content/public;
        location ~ \.php$ {
                include fastcgi_params;
                fastcgi_param SCRIPT_FILENAME $request_filename;

                fastcgi_pass unix:/tmp/php5-fpm.sock;
                try_files $uri =404; 
                # NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
                fastcgi_split_path_info         ^(.+\.php)(/.+)$;
                fastcgi_index               index.php;
        }
}

Это потому, что во включенных файлах конфигурации, $ request_filename не отражает новый псевдоним из-за того, как nginx наследует значения конфигурации между уровнями.

3
ответ дан 3 December 2019 в 10:59

Теги

Похожие вопросы