WordPress设置/修改固定链接后文章页404错误解决:
问题原因
我们搭建WordPress站点后配置都会配置固定链接规则来美化URL,比较常见的有如下:
/%category%/%post_id%.html
/%category%/%postname%.html
不过这不是重点,就不赘述了,而WordPress网站设置/修改固定链接后文章页404错误通常是因为没有设置伪静态的规则的导致的,我们只需要给站点配置下伪静态规则既可以解决,下面以宝塔服务器面板示例:
设置流程
登陆宝塔面板后,找到自己的站点》点击设置》点击伪静态》选择WordPress》点击保存,如下图所示,还标注了点击序号。
按照上述设置完,你就会发现你的网站文章页不会404了。
如果是阿里云虚拟主机的路径则是从控制台进入虚拟主机列表>选择你当前站点的虚拟主机>点击管理
进入到管理页面>选择高级环境设置>Nginx设置>写入伪静态规则>保存设置。
伪静态规则文章下发已经贴出。其他服务商的主机配置也都是大同小异的。不一一举例了。
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文件后自动恢复成默认内容解决办法
Apache不生效解决
找到你Apache的httpd.conf这个文件打开(在Apache安装目录conf目录下,宝塔通常路径是根目录>www>server>apache>conf)。
搜索mod_rewrite.so 找到对应这行:LoadModule rewrite_module modules/mod_rewrite.so
如果前面是存在 # 符号的 则把#符号去除。
.htaccess文件不生效解决
找到你Apache的httpd.conf这个文件打开(在Apache安装目录conf目录下,宝塔通常路径是根目录>www>server>apache>conf)。
搜索 AllowOverride 如果 AllowOverride 这行是 AllowOverride None (None表示忽略.htaccess文件)
则修改为 All
注释翻译:
#AllowOverride控制可以在.htaccess文件中放置哪些指令。
#它可以是“全部”、“无”或关键字的任意组合:
#选项FileInfo AuthConfig限制
相关文章
在网上还看到一些相关文章,感兴趣的可以看看: