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],我们会很快的为您处理。