SEO友好的URL(永久链接)不适用于NGINX上的Wordpress

时间:2015-11-20 04:15:56

标签: php wordpress nginx

我们在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)的文件夹相同的级别。 我们做错了什么?

2 个答案:

答案 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而不是服务器版本(在服务器版本中,由于重写,您可能会获得太多的重定向)

  • TESTED
  • QA PASSED