XuLaLa.Tech

首页客户端下载Windows 使用V2Ray 教程SSR 教程Clash 教程

如何解决WordPress更改固定链接导致的404错误? Nginx配置伪静态

2025.04.14

在使用WordPress网站时,我们经常需要更改文章和页面的固定链接。然而,有时候更改后会导致页面出现404错误,这可能会对网站的用户体验和SEO产生负面影响。在本文中,我们将详细介绍如何解决这个问题。

本文目录

隐藏

1.问题的原因2.解决方案3.总结

1.问题的原因

更改固定链接后,WordPress会根据新的链接结构生成rewrite规则,并将其保存在.htaccess文件中。如果.htaccess文件没有正确配置,或服务器不支持rewrite模块,那么就会导致页面出现404错误。

2.解决方案

为了解决固定链接导致的404错误,我们需要配置网站的伪静态,使其能正确的处理固定链接。对于Nginx服务器,我们可以通过配置Nginx的Rewrite规则来实现伪静态,具体的操作步骤如下:

(1)打开网站的Nginx配置文件,通常为/etc/nginx/sites-available/default。

(2)将下面的代码复制粘贴到文件中:

server {

server_name yourdomain.com;

root /var/www/yourdomain.com;

index index.php;

location / {

try_files $uri $uri/ /index.php?$args;

}

# WordPress Permalink rewrite rules

if (!-e $request_filename) {

rewrite ^/([_0-9a-zA-Z-]+)/([_0-9a-zA-Z-]+)/([_0-9a-zA-Z-]+)$ /index.php?category_name=$1&pagename=$2&name=$3 last;

rewrite ^/([_0-9a-zA-Z-]+)/([_0-9a-zA-Z-]+)$ /index.php?category_name=$1&name=$2 last;

rewrite ^/([_0-9a-zA-Z-]+)/([0-9]+)$ /index.php?category_name=$1&p=$2 last;

rewrite ^/([0-9]+)(\/feed\/)$ /index.php?p=$1&feed=$2 last;

rewrite ^/([0-9]+)/comment-page-([0-9]+)(\/feed\/)?$ /index.php?p=$1&cp=$2&feed=$3 last;

}

location ~ \.php$ {

fastcgi_pass unix:/run/php/php7.4-fpm.sock;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

}

(3)将其中的yourdomain.com和/var/www/yourdomain.com替换为你自己的域名和web目录即可。

(4)保存配置文件并重新加载Nginx。

3.总结

通过上述的操作,您可以解决WordPress更改固定链接导致的404错误。需要注意的是,如果您使用的是Apache服务器,操作方法可能会不同。此外,为了避免类似的问题,在更改固定链接时,建议备份好当前的.htaccess文件和数据库,以防出现问题后能够及时回滚。

© 2010-2022 XuLaLa 保留所有权利 本站由 WordPress 强力驱动
请求次数:69 次,加载用时:0.665 秒,内存占用:32.19 MB