修改WordPress固定链接后出现503错误,如何解决?
刚接触WordPress就碰到这种固定链接切换后全站503的问题,确实挺闹心的——我之前帮好几个新手排查过类似情况,核心原因几乎都是Nginx没有配置WordPress需要的URL重写规则,和插件、主题真的没关系,你之前删插件主题的操作其实是走了弯路~
问题本质
WordPress的「文章名」这类“漂亮链接”,本质是靠服务器把domainname.com/sample-post这种友好URL,重写成后台能识别的动态参数格式domainname.com/?p=123。如果Nginx没有对应的重写规则,服务器就无法解析这些漂亮链接,直接返回503错误;而纯静态格式不需要重写,所以改回去就正常了。
具体解决步骤(修改Nginx配置)
找到站点配置文件
登录服务器,找到Nginx的站点配置目录,通常是/etc/nginx/conf.d/或者/etc/nginx/sites-available/,里面的文件一般以你的域名命名(比如yourdomain.conf)。添加重写规则
用编辑器打开配置文件,找到对应站点的server块,在里面添加以下规则:location / { try_files $uri $uri/ /index.php?$args; }这条规则的作用是:当访问的文件或目录不存在时,把请求转发给
index.php处理(这正是WordPress解析漂亮链接的核心逻辑)。检查PHP处理配置
同时要确保你的PHP-FPM配置正确,比如在server块里有类似这样的PHP处理规则(根据你的PHP版本调整路径):location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.2-fpm.sock; # 换成你实际的PHP-FPM socket或端口 }验证并重启Nginx
配置完成后,先测试配置是否合法:sudo nginx -t如果输出显示
test is successful,就重启Nginx服务让配置生效:sudo systemctl restart nginx刷新WordPress固定链接设置
回到WordPress后台的「设置-固定链接」页面,不用修改任何内容,直接点击「保存更改」——这一步会让WordPress刷新内部的链接规则,确保和服务器配置同步。
额外提醒
如果是用共享主机,你可能没有权限修改Nginx配置,这时候直接联系主机商,告诉他们你需要配置WordPress的漂亮链接重写规则,他们一般都会帮你搞定。
内容的提问来源于stack exchange,提问作者Malina

