今天来探讨wordpress固定链接——设置个性化自己喜好的固定链接。wordpress日志的链接地址都是永久性不会变化的,链接地址一旦确定,在不做更改或删除情况下永远不变,这就是所谓的永久链接/固定链接。英文成为:Permalinks
当你的WordPress程序安装好,初次使用时,默认的日志URL格式是:http://domain/?p=N,这个就是所谓的动态地址。今天咱们需要做的就是拿它开刀,让它变成我们喜欢,搜索引擎也喜欢的固定链接。很友好地,WordPress给你提供了三种固定链接外加自定义固定链接共四种。
你所能使用的参数:
好吧,如果你不知道这些参数如何使用,那我来告诉你。这些参数(注意包含两边的%)是方便你选择了自定义结构而“乱用”的。不错,用乱用这个词,并不过分,乱用的意思就是让你随意组合。但,我想你也不会糊涂的把日志的年月日时分秒分类坐着编号等等一股脑的放在固定链接里,组成一个超长的连接。我想,例如下面三则将会是主流。
上面的例子在自定义结构里如此设置:
一切就这么简单。一切真这么简单?错了,当你真如此做的时候,会发现你的连接都打不开。你必须以该死的“/index.php/”作为开头,WordPress博客才会正常运行。于是上面你想自定义的固定连接不得不变成下面一个样子。
上面的例子在自定义结构里如此设置:
该死的“/index.php/”,让我的自定义固定链接看起来像个傻瓜。有没有办法去掉?当你看到我这则博文的时候,就会知道,解决办法肯定会有,因为我就使用的“/%category%/%postname%/”格式。
此步会让你去掉可恶的/index.php/。此解决办法是使用IIS的自定义404重定向,需要你的主机允许你添加自定义的404重定向,这个办法的好处是不用安装任何第三方的 mod_rewrite模块,也不用以/index.php/开头。
1、首先,把下面代码另存为404.php,用FTP软件二进制方式上传到你的网站根目录。
<?php
$qs = $_SERVER['QUERY_STRING'];
$qsu = mb_convert_encoding("$qs", "UTF-8", "UTF-8");
$pos = strrpos($qs, '://');
$pos = strpos($qs, '/', $pos + 4);
$_SERVER['REQUEST_URI'] = substr($qsu, $pos);
if (strpos($_SERVER['REQUEST_URI'], '?') > 0) {
$_SERVER['SCRIPT_NAME'] = $_SERVER['ORIG_PATH_INFO'] = substr($_SERVER['REQUEST_URI'], 0, strpos($_SERVER['REQUEST_URI'], '?'));
$_SERVER['QUERY_STRING'] = substr($_SERVER['REQUEST_URI'], strpos($_SERVER['REQUEST_URI'], '?') + 1);
} else {
$_SERVER['SCRIPT_NAME'] = $_SERVER['ORIG_PATH_INFO'] = $_SERVER['REQUEST_URI'];
$_SERVER['QUERY_STRING'] = '';
}
include("index.php");?>
2、在你的虚拟虚拟主机管理系统里,自定义404错误页面;我用的是星外虚拟主机管理系统,可以使用web目录中的404.php文件来自定义内容。此设置会修改404、404.2、404.3错误提示,并跳转到我们设置的404.php。我用的是星外虚拟主机管理系统,和你的管理界面可能不同。
“404 找不到文件或目录。 404.2 文件或目录无法找到:锁定策略禁止该请求。404.3 文件或目录无法找到:MIME 映射策略禁止该请求。”还有一个404.1是“文件或目录未找到:网站无法在所请求的端口访问。”这里不在讨论范围内。
消息类型:URL URL:/404.php
需要对404、404.2、404.3分别设置。
3、在WordPress后台管理,固定链接里,你就可以随心所欲的设置你的自定义固定链接了。
2016年10月
共有(1)文章
2016年1月
共有(1)文章
2015年5月
共有(1)文章
2014年6月
共有(1)文章
2013年9月
共有(1)文章
2013年3月
共有(2)文章
2012年8月
共有(4)文章
2012年7月
共有(2)文章
2012年6月
共有(5)文章
2012年5月
共有(9)文章
2012年4月
共有(30)文章
2012年3月
共有(67)文章
2008年12月
共有(1)文章