nginx + wordpress в подпапке + конфигурация debian

В подпапке на домене я хочу установить блог wordpress. Я использую нгинкс. URL-адрес для доступа к блогу должен быть таким: example.com/blog

конфиг сайта выглядит следующим образом:

server {
        listen 80;
        listen [::]:80;
        root /var/www/example.com/html; 
        index index.php index.html index.htm index.nginx-debian.html;   
        server_name example.com www.example.com;

        location /blog {
                alias /var/www/example.comblog/html;
                index index.php;
                try_files $uri $uri/ /blog/index.php?q=$uri&$args;
        }

        location ~ /blog/.+\.php$ {
                try_files $uri =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php5-fpm.sock;
                fastcgi_index index.php;
                include fastcgi_params;
        }

        location ~ /\.ht {
                deny all;
        }
}
  • Файлы wordpress находятся в папке /var/www/example.comblog/html. При доступе к example.com/blog браузер показывает ошибку 404.

  • В /etc/php5/fpm/php.ini я адаптировал это: cgi.fix_pathinfo=0

  • Версия nginx: nginx/1.6.2

  • /var/log/nginx/error.log не показывает ничего интересного

ОБНОВЛЕНИЕ 1:

После настройки ведения журнала ошибок на отладку (среди прочего) появляются следующие строки. Возможно, это поможет:

open index "/var/www/example.comblog/html/index.php"
internal redirect: "/blog/index.php?"
rewrite phase: 1
test location: "/blog"
test location: ~ "/blog/.+\.php$"
using configuration "/blog/.+\.php$"
http script var: "/blog/index.php"
trying to use file: "/blog/index.php" "/var/www/example.com/html/blog/index.php"

Внутреннее перенаправление кажется неправильным? И в последней строке должно быть /var/www/example.comblog/html/blog/index.php вместо /var/www/example.com/html/blog/index.php. Я подозреваю, что это причина для 404. Потому что index.php не существует в /var/www/example.com/html/blog/index.php.

Обновление 2:

Хорошо, похоже, существует давняя проблема с использованием псевдонима вместе с try_files.


person beta    schedule 02.04.2018    source источник
comment
Ваше местоположение php должно быть вложено в местоположение с псевдонимом - см. at-the-same-domain/43067793#43067793">мой ответ здесь.   -  person Richard Smith    schedule 03.04.2018