Nginx下wordpress 固定链接更改后404问题解决

安装好wordpress后默认文章固定链接后缀是 ?p=xx之类的,这样的链接虽然挺简洁,但对SEO不利。

在后台自定义固定链接后,打开网站除首页外,其他页面都是404。这是由于没有设置好Nginx对wordpress的rewrite规则,google了一些解决办法,说的都是要在Nginx的配置文件写入

server{      location / {      try_files $uri $uri/ /index.php?$args;    }    }  

但是写上以上代码仍然不起作用。于是google到Nginx官网上对于wordpress的rewrite规则说明,照着例子改了自己的Nginx配置,参考如下

upstream php {          server unix:/tmp/php-cgi.socket;          server 127.0.0.1:9000;  }    server {      listen 80;      server_name www.zhenglinbo.com zhenglinbo.com;        root /var/www/blog;      index index.html index.htm index.php;        location / {          try_files $uri $uri/ /index.php?$args;        }        location ~ .php$ {                  #NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini                  include fastcgi.conf;                  fastcgi_intercept_errors on;                  fastcgi_pass php;          }        location ~* .(js|css|png|jpg|jpeg|gif|ico)$ {                  expires max;                  log_not_found off;          }        error_page 404 /error/index.html;          location = /40x.html {      }    }  

成功!使用自定义的文章固定链接为 /post-%post_id%.html 。

附Nginx官网对wordpress的rewrite规则说明:https://www.nginx.com/resources/wiki/start/topics/recipes/wordpress/

原文出处:zhenglinbo -> http://www.zhenglinbo.com/post-63.html

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。