Я пытаюсь настроить временный URL-адрес для моего сайта WordPress, прежде чем переключать его на активный домен.
Кроме того, у меня в подкаталоге установлен WordPress, поэтому моя структура папок выглядит так:
wordpress/
wp-content/
wp-config.php
Я просто использую свой IP-адрес, поэтому возвращаю сайт как http://X.X.X.X/stage
, где /stage/
это домашняя страница, а страницы выглядят так: /stage/page
.
Домашняя страница возвращается нормально, как и страницы wp-admin, но каждая внутренняя страница возвращает 404.
Вот моя конфигурация nginx:
server_name X.X.X.X;
location ^~ /stage {
alias /var/www/html/mydomain.com/wordpress;
location /stage/wp-content {
alias /var/www/html/mydomain.com/wp-content;
}
# Add a trailing slash if missing
if (!-f $request_filename) {
rewrite [^/]$ $uri/ permanent;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^/stage(/.+\.php)(.*)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $request_filename;
include /etc/nginx/fastcgi_params;
}
}
Например, вот ошибка 404, которую я получил, когда перехожу к "http: //X.X.X.X/stage/page-slug"и я бегу tail /var/log/nginx/error.log
:
[ошибка] 60110 # 0: * 9013 "/var/www/html/mydomain.com/wordpress/page-slug/index.php" не найден (2: нет такого файла или каталога), клиент: ZZZZ, сервер: XXXX, запрос: "GET / stage / page-slug / HTTP / 1.1", хост: "XXXX", реферер: "http: //X.X.X.X/stage/"