WordPress设置/修改固定链接后文章页404错误解决

问题原因

我们搭建WordPress站点后配置都会配置固定链接规则来美化URL,比较常见的有如下:

/%category%/%post_id%.html
/%category%/%postname%.html

不过这不是重点,就不赘述了,而WordPress网站设置/修改固定链接后文章页404错误通常是因为没有设置伪静态的规则的导致的,我们只需要给站点配置下伪静态规则既可以解决,下面以宝塔服务器面板示例:

设置流程

登陆宝塔面板后,找到自己的站点》点击设置》点击伪静态》选择WordPress》点击保存,如下图所示,还标注了点击序号。

v2-86e5492fa5578e4f2ac2582692ba687c_1440w

按照上述设置完,你就会发现你的网站文章页不会404了。

如果是阿里云虚拟主机的路径则是从控制台进入虚拟主机列表>选择你当前站点的虚拟主机>点击管理

v2-74aecc5fd5180911eae5c0cd1618aab4_1440w

进入到管理页面>选择高级环境设置>Nginx设置>写入伪静态规则>保存设置。

伪静态规则文章下发已经贴出。其他服务商的主机配置也都是大同小异的。不一一举例了。

v2-fad7a685a6249a2a1bc361573dcc9dd4_1440w

WordPress伪静态规则

下面贴出WordPress的伪静态代码,可以复制到自己的伪静态文件:

Nginx

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

rewrite /wp-admin$ $scheme://$host$uri/ permanent;

Apache

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

也可以把上面的代码加入到你的WordPress网站.htaccess文件中去,加入的注意事项请你看这里:

wordpress修改.htaccess文件后自动恢复成默认内容解决办法

wordpress配置ssl后只有首页301跳转解决方法

Apache不生效解决

找到你Apache的httpd.conf这个文件打开(在Apache安装目录conf目录下,宝塔通常路径是根目录>www>server>apache>conf)。

搜索mod_rewrite.so 找到对应这行:LoadModule rewrite_module modules/mod_rewrite.so

如果前面是存在 # 符号的 则把#符号去除。

v2-195c07fe129771dd738bcbe65da893a6_1440w

.htaccess文件不生效解决

找到你Apache的httpd.conf这个文件打开(在Apache安装目录conf目录下,宝塔通常路径是根目录>www>server>apache>conf)。

搜索 AllowOverride 如果 AllowOverride 这行是 AllowOverride None (None表示忽略.htaccess文件)

则修改为 All

v2-c6e8c866f3ead7464273e6c39e31384b_1440w

标签