固定连接index.php,WP中去掉固定链接中的index.php和category

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

本文是针对使用Windows主机的用户来说的, 如果你使用Windows主题搭建了WordPress程序, 并设置了非默认状态的固定链接形式的话, 那么, 在网站的链接URL中, 就会出现index.php问题, 这是Windows主机的一个通病, 这里告诉你去掉index.php的完美解决方法。

本人也是新开始用WordPress,对于WordPress固定链接个性化一直都不是很清楚,不得已在度娘上苦苦搜索,特别是那个404的代码,试了好几个才可以的

具体操作步骤如下:

1, 新建一个记事本文件, 写入以下代码, 并保存, 连同.txt格式重新命名为404.php;

[php] view plaincopy

//*具体代码如下,此行不用复制

header(*Status : 200 OK*);

$ori_qs = $_SERVER[*QUERY_STRING*];

$pattern = */[^;]+;[^:]+:\/\/[^\/]+(\/[^\?]*)(?:\?(.*))?/i*;

preg_match($pattern,$ori_qs,$matches);

$_SERVER[*PATH_INFO*] = $matches[1].*?*.$matches[2];

$_SERVER[*REQUEST_URI*] = $_SERVER[*PATH_INFO*];

$query_args = explode(*&*,$matches[2]);

unset($_GET);

foreach ($query_args as $arg)

{

$the_arg = explode(*=*,$arg);

$_GET[$the_arg[0]] = $the_arg[1];

}

include(*index.php*);

?>

//*代码结束行,此行不用复制

2, 在主机服务器的管理控制面板中, 设置404自定义错误指向404.php;

3, 完成以上步骤后,在WordPress的后台 – 设置(Options) – 固定链接(Permalinks)中重新设置你希望使用的永久链接形式就可以了.

通过以上三步简单的设置, 你的Windows主机就可以和Linux主机一样, 设置固定链接时就不会再出现index.php了。

------------------------------------------------------------------------------------------

同Wordpress设置固定链接时,想尽办法删除固定链接里的前缀“index.php”一样;很多朋友希望把分类链接地址里的前缀“category”去掉——如此这般看起来顺眼多了。

分类地址举例,原来的固定链接地址、去掉“category”后的链接分别如下。

原来链接:http://go.niuren.com/category/fun/

变成链接:http://go.niuren.com/fun

去除固定链接地址里的“category”的办法很多,这里介绍三个简单易用的,起个抛砖引玉的作用。一是在Wordpress后台固定链接里设置;二是通过修改Wordpress核心函数实现;三是通过Wordpress插件实现。【笔者是根据第一种方法:修改固定链接设置,去掉分类链接前缀category设置成功的】

一、修改固定链接设置,去掉分类链接前缀category

登录你的Wordpress后台,打开固定链接/永久链接设置项。在“可选设置”里的“分类地址前缀”里输入半角字符: “.”;保存即可去掉分类前缀category。

二、借助Wordpress插件,去掉分类前缀category

1、WP No Category Base:作者iDope,是为去除固定链接中分类链接里的category而开发出来的一款wordpress插件,被下载近5万次。安装启用此插件后,对原来的分类地址做了301跳转,对SEO优化有好处,把降权风险降到最低。

2、No category parents:作者milardovich,上面插件的升级版,不仅能去掉分类链接的前缀category,还能去掉父分类 parent-category。例如能把“/category/parent-category/my-category/”换成“/my-category/”形式。

三、修改Wordpress函数,去掉分类前缀category

1、找到你Wordpress博客wp-includes文件夹下的category-template.php。

2、打开此文件,搜索(get_category_link()函数里):

[php] view plaincopy

$catlink = $wp_rewrite->get_category_permastruct();

在其后,另起一行加入:

[php] view plaincopy

$catlink = str_replace(*/category* , ** , $catlink);

代码作用是,使用字符串替换函数,把获取分类链接函数的分类链接里的/category替换掉。达到去掉分类链接前缀/category的目的。

3、保存上传到服务器即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值