当你看到这个标题的时候,你也许会有两个疑问:
1 、为什么要自己定义一个 404 页面呢,WordPress 的模板不是自带 404.php 来处理不存在的页面了吗?我想说的是,这种 404 页面确实方便,但当你的网站做的时间长了,很有可能会出现大量的 404 页面,比如以前是做一个资讯类的网站,当改版成 WordPress 博客之后,就会出现大量的 404 页面,而搜索引擎则会继续访问这些不存在的页面,这样增加了服务器的负担,而使用 htaccess 自定义一个静态的 404 页面,则可以解决这个问题。
2 、使用 htaccess 自定义 WordPress 404 页面那还不简单,直接在 htaccess 文件增加代码 ErrorDocument 404 /404.html,然后新建一个 404.html 文件上传到根目录就 OK 了。但是这种方法并不可行,因为默认的重写规则是把所有的请求指向 index.php 脚本,当然也包括不存在的页面,如果直接添加常规的 404 页面设置代码,不会起任何效果的。说了这么多,相信你已经明白为什么要为 WordPress 自定义一个 404 页面了。
下面我们来介绍如何自定义 404 页面。
1 、第一步当然是制造一个 404.html 文件,并上传到网站根目录
2 、删除原来的重写规则文件 htaccess,添加下面如下规则。
# BEGIN WordPress ErrorDocument 404 /404.html RewriteEngine On RewriteBase / RewriteRule ^archives/.*$ /index.php [L] RewriteRule ^feed.*$ /index.php [L] RewriteRule ^page/.*$ /index.php [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # END WordPress |
archives 是文章的 url 格式,如/archives/88,可以根据自己实际的文章 url 修改。如果你的博客是安装在 WordPress 目录,则必须在后面增加 RewriteRule ^WordPress/.*$ /index.php [L] 。