WP中去掉固定链接中的index.php和category
2012-05-08 22:57
387 查看
本文是针对使用Windows主机的用户来说的, 如果你使用Windows主题搭建了WordPress程序, 并设置了非默认状态的固定链接形式的话, 那么, 在网站的链接URL中, 就会出现index.php问题, 这是Windows主机的一个通病, 这里告诉你去掉index.php的完美解决方法。
本人也是新开始用WordPress,对于WordPress固定链接个性化一直都不是很清楚,不得已在度娘上苦苦搜索,特别是那个404的代码,试了好几个才可以的
具体操作步骤如下:
1, 新建一个记事本文件, 写入以下代码, 并保存, 连同.txt格式重新命名为404.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()函数里):
在其后,另起一行加入:
代码作用是,使用字符串替换函数,把获取分类链接函数的分类链接里的/category替换掉。达到去掉分类链接前缀/category的目的。
3、保存上传到服务器即可。
本人也是新开始用WordPress,对于WordPress固定链接个性化一直都不是很清楚,不得已在度娘上苦苦搜索,特别是那个404的代码,试了好几个才可以的
具体操作步骤如下:
1, 新建一个记事本文件, 写入以下代码, 并保存, 连同.txt格式重新命名为404.php;
//*具体代码如下,此行不用复制 <?php 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()函数里):
$catlink = $wp_rewrite->get_category_permastruct();
在其后,另起一行加入:
$catlink = str_replace('/category' , '' , $catlink);
代码作用是,使用字符串替换函数,把获取分类链接函数的分类链接里的/category替换掉。达到去掉分类链接前缀/category的目的。
3、保存上传到服务器即可。
相关文章推荐
- SAE去掉index.php实现自定义固定链接
- Ecstore Nginx Rewrite(去掉链接中的index.php) ECSTORE 伪静态
- ThinkPHP去掉链接的index.php WAMP架构
- 在Apache2.2.16中配置CodeIgniter2.0,去掉index.php实现简洁链接
- 去掉 CI 框架中的 index.php
- thinkphp5 去掉url里的index.php
- thinkphp如何去掉index.php
- 如何去掉Magento默认URL中的index.php
- CodeIgnite/CI 去掉 index.php的 配置
- Magento入门基础 - - 更改URL,去掉index.php
- 在Apache及IIS6.0中codeigniter去掉 URL 中的 index.php
- codeigniter的url重写问题(去掉index.php路由)
- ECSHOP广告链接地址,去掉affiche.php改为直连
- mac下 codeigniter在apache下去掉index.php
- CodeIgniter的URL去掉index.php
- ***CodeIgnite/CI 去掉 index.php的 配置
- nginx 重写去掉index.php
- http://wp.qq.com/index.php qq商家设置地址
- 关于lamp去掉index.php
- 如何去掉Magento默认URL中的index.php