近期的themebetter工单中出现了很多关于如何设置WordPress固定链接的问题,也有部分人设置好了却出现404等问题,这里浩子给大家一并解决。
提示:以下设置均在WordPress程序后台 – 设置 – 固定链接设置中。
WordPress固定链接设置的参数:
%year% 文章发表的年份,四位数,如 2004
%monthnum% 月份,如 05
%day% 天,如 28
%hour% 小时,如 15
%minute% 分钟,如 43
%second% 秒,如 33
%postname% 文章标题的别名
%post_id% 文章的唯一ID,如 423
%category% 分类的别名
%tag% 标签的别名
%author% 作者的别名
以上是WordPress提供的可以作为自定义的参数,结合字符串,我们通常建议大家自定义设置的几种案例。
常见的WordPress固定链接自定义设置:
如:网址/120.html,简洁,带html结尾的伪静态,需要服务器URL_Rewrite支持。
/%post_id%.html
如:网址/themebetter-is-ok,语义化文章别名的伪静态,需要服务器URL_Rewrite支持。
/%postname%
如:网址/2016/03/120.html,文章年、月、ID的组合,伪静态,需要服务器URL_Rewrite支持。
/%year%/%monthnum%/%post_id%.html
不少人也会选择默认的固定链接,
如:网址/?p=120,看上去也是很简洁,这种类型的好处就是不需要服务器的额外支持,直接使用参数的形式访问,虽然看上去不怎么美观,但实际效果是杠杆的。
WordPress固定链接自定义时出现404:
自定义好的固定链接访问后出现404,多是服务器没有开启URL_Rewrite的支持,所以先去服务器设置或者找你的主机商寻求帮助。
Apache环境下开启url_rewrite:
- 开启apache的url_rewrite模块,也就是在httpd.conf中去掉这句话的注释LoadModule rewrite_module modules/mod_rewrite.so
- 找到AllowOverride,把AllowOverride None修改成AllowOverride all
- 在所需要进行rewrite的web的主目录下添加.htaccess文件,添加上一句话:RewriteEngine on
Nginx环境下开启url_rewrite:
nginx只需要打开nginx.conf配置文件,在server里面写需要的规则,然后重启即可。
具体的重写规则参考:http://codex.wordpress.org/Nginx
WordPress固定链接小提示:
- 固定链接最好是在建站时就定好;
- 如果后期变更固定链接一定要做好301跳转,可以搜索选择Redirection插件来解决;
- 固定链接本身并不能达到很科学的SEO效果,各种方式并无区别;
- 不要纠结固定链接是个什么样子。
至此,WordPress固定链接设置上的问题都被解决了。