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

Во вложенной папке в домене я хочу установить блог wordpress. Пользуюсь nginx. 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.

Ваше местоположение php должно быть вложено в местоположение с псевдонимом - см. мой ответ здесь.

Richard Smith 03.04.2018 10:49
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
5
1
237
0

Другие вопросы по теме