WordPress更改固定链接404的解决办法

WordPress 网站建设中,固定链接设置是必不可少的,好的固定链接更美观、易用、利于用户分享和搜索引擎收录,需要注意的是,要使设置的固定链接生效的前提是你的网站环境支持伪静态。

常用的参数有

  1. 日期和名称型 /%year%/%monthnum%/%day%/%postname%/
  2. 月份和名称型 /%year%/%monthnum%/%postname%/
  3. 数字型 /archives/%post_id%
  4. 文章名 /%postname%/
  5. ID+html 型 /%post_id%.html

很多站长在玩 WordPress 的时候,可能会碰到一个问题,就是想把 WordPress 伪静态,在后台设置好固定链接之后,就会出现文章页面或者所有的页面都出现 404 错误。下面就提供各种 web 环境下的 WordPress 伪静态规则设置教程。

Apache 伪静态规则

Apache 是 Linux 主机下常见的环境,现在一般的 Linux 虚拟主机都采用这种环境。新建一个 htaccess.txt 文件,添加下面的代码:

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

然后上传到 WordPress 站点的根目录,重命名为 .htaccess ,修改完成后,要重启 Apache 才能生效。

Nginx伪静态规则

打开nginx.conf或者某个站点的配置环境,比如 qq52o.me.conf(不同的网站配置不一样),在server {}大括号里面添加下面的代码:

location / {  
    index index.html index.php;   
    if (-f $request_filename/index.html){   
        rewrite (.*) $1/index.html break;   
    }   
    if (-f $request_filename/index.php){   
        rewrite (.*) $1/index.php;   
    }   
    if (!-f $request_filename){   
        rewrite (.*) /index.php;   
    }   
}   
  
rewrite /wp-admin$ $scheme://$host$uri/ permanent;  

保存以后,重启 Nginx 即可。

IIS 伪静态

强烈不推荐在 windows 的 IIS 服务器下安装 WordPress,因为 IIS 环境运行 PHP 程序的效率,相对同等配置下 Linux 的 Apache 和 Nginx 环境,要低的多,更甚至于坑太多!

[ISAPI_Rewrite]
# Defend your computer from some worm attacks
#RewriteRule .*(?:global.asa|default\.ida|root\.exe|\.\.).* . [F,I,O]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
# Protect httpd.ini and httpd.parse.errors files
# from accessing through HTTP
# Rules to ensure that normal content gets through
RewriteRule /tag/(.*) /index\.php\?tag=$1
RewriteRule /software-files/(.*) /software-files/$1 [L]
RewriteRule /images/(.*) /images/$1 [L]
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]
# For file-based wordpress content (i.e. theme), admin, etc.
RewriteRule /wp-(.*) /wp-$1 [L]
# For normal wordpress content, via index.php
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]

另存为 httpd.ini 文件,上传到 WordPress 站点的根目录即可。

宝塔面板设置伪静态

如果你的服务器上安装了宝塔面板,就方便多了

在 宝塔面板>网站>设置>伪静态 里选择对应的伪静态规则(WordPress)并保存即可。

后记

如果你按照上述方法设置了还是不起作用,那么有可能是你的服务器没有安装伪静态模块!Apache 服务器的话,就是 rewrite 模块没有开启,去除这一行前面的#号就可以了

LoadModule rewrite_module modules/mod_rewrite.so

沈唁志|一个PHPer的成长之路! 原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:WordPress更改固定链接404的解决办法

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏coder修行路

用Go自己实现配置文件热加载功能

说到配置文件热加载,这个功能在很多框架中都提供了,如beego,实现的效果就是当你修改文件后,会把你修改后的配置重新加载到配置文件中,而不用重启程序,这个功能在...

4274
来自专栏Golang语言社区

【Go 语言社区】golang channel 有缓冲 与 无缓冲 的重要区别

golang channel 有缓冲 与 无缓冲 是有重要区别的 我之前天真的认为 有缓冲与无缓冲的区别 只是 无缓冲的 是 默认 缓冲 为1 的缓冲式 其实是...

6788
来自专栏程序小工

【React入门】实现todolist功能

作为一名 PHP 初级的程序员,目前尚且处于学习 PHP 业务逻辑实现到日常工作中的阶段,但是由于现在想要搭建一个满意的个人博客,并且尝试过很多 hexo 主题...

2972
来自专栏mantou大数据

MacOS下SVN迁移Git踩坑记

1. First Blood 之前在Windows环境下进行svn到git的迁移是很简单的,参考官方文档。 可是在macOS环境下(macOS High Si...

5315
来自专栏九彩拼盘的叨叨叨

Chrome 插件收藏

Chrome 上有非常多的功能强大的和插件。这些插件让 Chrome 变得更加强大。下面是我常用的一些插件。

2641
来自专栏码生

收集

http://blog.csdn.net/fungleo/article/details/77584701

1205
来自专栏前端布道

Angular开发实践(六):服务端渲染

Angular Universal Angular在服务端渲染方面提供一套前后端同构解决方案,它就是 Angular Universal(统一平台),一项在服务...

62610
来自专栏Danny的专栏

机房收费系统(VB.NET)——超详细的报表制作过程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

2173
来自专栏web开发

Vue项目图片剪切上传——vue-cropper的使用

最近自己在研究vue,然后做了一个小型的后台管理系统用来练手,开发过程中,想到了剪切图片上传用户头像的需求。上网百度了一番,发现好多用的都是vue-croppe...

3893
来自专栏不想当开发的产品不是好测试

jenkins 多选框

背景 jenkins自带的参数化不支持多选框,不过有插件支持:Extended Choice Parameter Plug-In 插件地址: https://p...

4289

扫码关注云+社区

领取腾讯云代金券