Постоянные ссылки Nginx и Wordpress не работают, если блог не находится в корне
Итак, я установил nginx
и Wordpress на моем сервере. Тем не менее, мой блог не находится в корневом домене. (например example.com/blog
и содержимое в /var/www/example.com/blog
)
Я использую настройки ниже в nginx, и моя установка Wordpress использовала правила перезаписи URL в Apache. (например, постоянные ссылки, такие как example.com/blog/2012/hello-world
)
Тем не менее, что интересно, все эти правила перезаписи URL входят в index.php
в /
(не в blog/
). Я хочу это исправить, но я не мог понять, как. Еще одна интересная вещь, example.com/blog
(домашняя страница) работает отлично.
Например, я думаю, так как example.com/blog/2012/hello-world
это не настоящий файл, try_files
выполняет example.com/index.php
, (URL остается таким же, но этот index.php выполняется). Любая помощь приветствуется!
server {
listen 80;
root /var/www/example.com;
index index.php;
server_name 192.34.59.214;
location / {
try_files $uri $uri/ /index.php?q=$uri&$args;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9$
location ~ \.php$ {
#fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
1 ответ
Тебе нужен другой location
раздел для WordPress.
location /blog/ {
try_files $uri $uri/ /blog/index.php
}