我们在NGINX服务器的子目录中安装了wordpress。我们希望我们的博客网址看起来像www.example.com/blog。个别博客帖子的网址应该是www.example.com/blog/post-name。为此,当我们转到wordpress中的setting->永久链接菜单并将其更改为默认的Post Name时,它会开始给出错误。但是当我们将其保留为默认值时,它的工作正常(www.example.com/blog/?p=123)。 博客目录安装在nginx的html文件夹下。 我们在nginx.conf文件中输入了以下内容:
location /blog {
root /usr/share/nginx/html;
index index.html index.php;
try_files $uri $uri/ /index.php?$args;
location ~ \.php$ {
include fastcgi_params;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_index index.php;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9000;
}
}
博客目录安装在与我们的主站点(example.com)的文件夹相同的级别。 我们做错了什么?
答案 0 :(得分:2)
试试这个,
location /blog/ {
root /usr/share/nginx/html;
index index.html index.php;
try_files $uri $uri/ /blog/index.php?$args;
}
答案 1 :(得分:0)
有一个类似的问题,我在我的nginx conf中添加了这个,以使其适用于nginx hhvm 3.21中的wordpress /index.php/permalink网址
添加此内容供大家参考:
location / {
...
fastcgi_param SCRIPT_FILENAME $document_root/index.php$fastcgi_script_name;
}
或
location / {
rewrite ^/([^\.]+)$ /index.php/$1 break;
}
确保您使用的是fastcgi而不是服务器版本(在服务器版本中,由于重写,您可能会获得太多的重定向)