Wordpress 版本:3.3.1

一. 去掉 index.php

1. 编写404.php 文件,上传保存到博客根目录(和wordpress 的 index.php 在同一个目录)。文件内容如下;

$qs = $_SERVER['QUERY_STRING'];

$pos = strrpos($qs, '://');

$pos = strpos($qs, '/', $pos + 4);

$_SERVER['REQUEST_URI'] = substr($qs, $pos);

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

include('index.php');

?>

2. 打开IIS管理工具-博客属性-自定义错误-404;404.2;404.3;

类型选择URL,地址输入:/404.php 前面的“/”务必保留;

3. 登录wordpress后台,在固定链接/永久链接(Permalinks)设置项目- 自定义结构里去掉index.php

二. 去掉 category

1.修改固定链接设置,去掉分类链接前缀Category

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

优点:设置简单,老少皆宜。适用于初建成的博客,或刚打算使用固定链接 /永久链接的博客。用不着修改代码,升级之时没有顾虑;用不着插件,不会增加运行负担。

缺点:原链接无法打开,出现404错误。被搜索引擎收录良好,或分类链接有较多外链链入的博客,可要万分小心了。不要因为操作简单、省时省力而损失了大量外链及权重。

2、借助Wordpress插件,去掉分类前缀Category:

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

下载地址:WordPress官方下载;

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

下载地址:WordPress官方下载;

优点:安装简单,老少皆宜。无论是初建成的博客,还是正打算使用固定链接/永久链接的博客,还是被搜索引擎收录良好的博客。用不着修改代码,升级之时没有顾虑。使用301跳转,把原链接进行跳转。最大程度防止搜索引擎降权,防止原链接打不开。

不足:插件或许会造成空间负担。这里不说是缺点,就是因为,造成的“空间负担”微乎其微,不应该是缺点。比较在意的就不用,无所谓推荐使用。

3、修改Wordpress函数,去掉分类前缀Category:(3.3.1没找到对应函数...)

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、保存上传到服务器即可。

优点:仅加入一段代码,性能影响忽略不计。适用于对代码稍熟悉的博客。

缺点:修改代码,博客升级还要修改。且原地址仍可以访问。或会造成谷歌网站管理员工具里提到的,重复的标题。

4、我是怎么去除Category的:

修改固定链接地址是网站SEO的大忌,能不动则不动,动一发牵全身。如果已经到了非动不可的地步,提早动,快速动是必须的。动的过程中,要充分考虑到用户(外链链入)和搜索引擎权重——使用301跳转是明智之举。

1、使用WP No Category Base插件,让原链接地址301跳转到新地址;

2、耐心等待若干时日,搜索引擎抛弃原地址后,对使用修改Wordpress函数的方式;

3、可以使用第二第三两者兼顾的办法。Wordpress插件照样使,Wordpress函数照样修改,若干时间后,禁用删除插件即可。

IIS环境下wordpress中永久链接去掉index.php最后发现两种已成功实现的方案:

第一种方案:

不需要第三方插件cos-html-cache支持,利用服务器有自定义404错误页面的功能解决问题,但前提是你的服务器或者主机有自定义404错误页面的功能。如果是服务器那肯定可以支持,如果是虚拟主机,需你的服务器供应商提供自定义404错误页面选项。你只需创建一个404错误页面,并且写入下列几行代码即可简单优雅的实现无插件完美支持windows iis主机的永久固定链接的伪静态化地址格式。

具体设置步骤:

1.用DW新建一个PHP文档,并且页面属性里面把编码设置成UTF-8,在里面写入下面代码,保存,命名为404.php。将404.php上传到网站根目录。

header("HTTP/1.1 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');

?>

我开始从网上复制该段代码使用的时候发现出现500错误,仔细一看原来是大家转载代码的时候都没有把代码里面错误的单引号修正过来,网上流传的这段代码里面不少单引号都是中文全角单引号,需要改成英文半角的才可以。上面的我已经改过了。大家直接复制即可!

2.设置404自定义错误指向404.php,一般来说,绝大多数服务器控制面板均提供该选项。

3.进入wordpress管理后台,设置(Options)-永久链接(Permalinks),你就当自己的主机是linux主机使好了,任意、随便设置自己喜欢的伪静态地址格式及静态地址后缀。

例如:

/y%year%/%post_id%.html

/%year%/%monthnum%/%post_id%/

/%year%/%monthnum%/%postname%.html

我用的格式是:/%year%/%monthnum%/%postname%/

第二种方案:

无Rewrite用cos-html-cache实现静态化

要求:使用cos-html-cache插件

具体下载,设置步骤和使用方法请查看插件作者的说明:cos-html-cache插件链接。

用起来有点麻烦,我还是选择了第一种 :razz: 。

看来大家有点小麻烦,可能我也不知道是怎么回事。我把我正常用的404文件打包了,大家可以下载了试试!

404.PHP下载

iis6.0 index.php,IIS6.0下Wordpress 去掉 index.php 和 category 的方法小结相关推荐

  1. 转Linux环境下段错误的产生原因及调试方法小结

    Linux环境下段错误的产生原因及调试方法小结 转载于:https://www.cnblogs.com/objectDetect/p/7575659.html

  2. linux firefox 10.0.12字体模糊,centos下字体模糊,firefox字体模糊解决方法

    scim输入法是我们经常使用的一种输入法,而firefox字体也是同样如此,而在CentOS系统中如何scim输入法设置和firefox字体修改呢?下面我们就来解决这2个问题. CentOS系统sci ...

  3. wordpress去掉index.php,wordpress去掉url中index.php 创建分类目录404如何解决

    wordpress主题是建设个人博客的首选,便利简洁.今天整理2个wp建站过程中常遇到的两个问题,整理了下来.相信很初用wp的伙伴都遇到这样的问题,url中包含index.php,这样的url很不美观 ...

  4. Linux环境下段错误的产生原因及调试方法小结

    From:http://www.cnblogs.com/panfeng412/archive/2011/11/06/2237857.html 最近在Linux环境下做C语言项目,由于是在一个原有项目基 ...

  5. [转]Linux环境下段错误的产生原因及调试方法小结

    最近在Linux环境下做C语言项目,由于是在一个原有项目基础之上进行二次开发,而且项目工程庞大复杂,出现了不少问题,其中遇到最多.花费时间最长的问题就是著名的"段错误"(Segme ...

  6. linux压缩隐藏文件,Linux下查看压缩文件内容的10种方法(小结)

    通常来说,我们查看归档或压缩文件的内容,需要先进行解压缩,然后再查看,比较麻烦.今天给大家介绍 10 不同方法,能够让你轻松地在未解压缩的情况下查看归档或压缩文件的内容. 从技术上讲,查看归档或压缩文 ...

  7. php开发环境配置 iis6+php-5.2.1-Win32+mysql-5.0.18-win32+phpMyAdmin-2.7.0-pl2快速安装

    1.iis6安装正常运行 2. A.解压php-5.2.1-Win32,把里面的所有dll文件和其中ext文件夹中的所有dll文件复制到\WINDOWS\system32下  B.将C:\PHP目录下 ...

  8. Resin 3.0.14 和 IIS6 整合

    经过这些天的研究终于搞定了Resin3.0.14和IIS6的整合.为了和大家共享所以专门写了出来.以供大家参考. 切入正题: 1. 系统要求 (1) Windows Server 2003+IIS6 ...

  9. html行间距1.8em,雅黑字体下WordPress 行高与字符间距最佳实践:1.8em与0.06em

    最近看一下网站的流量统计,发现有几个关键词是一直有很多流量进来的,一个是Win8操作系统的BCD启动项修复解决方案,一个是WordPress程序修改行间距.段落间距的办法.看来WordPress新入门 ...

最新文章

  1. 硕士,博士太多了?看完这组数据你就不那么认为了!
  2. 大数据分布式集群搭建(7)
  3. EGO首次线下活动分享:Facebook研发团队的高效秘诀
  4. 数据库系统概念学习笔记2
  5. MyBatis-动态SQL
  6. unity 关闭自己脚本_unity中使用代码控制脚本的开启和关闭 enabled
  7. oracle win10配置命令,记一次Windows 平台下Oracle 10.2.0.5 EM重新配置
  8. c# 中如何设置combox 让出现text value两个值 winform开发
  9. swoole php input,介绍swoole异步群发模板消息
  10. oracle内存参数越大越好吗,什么是Oracle内存参数调优技术?
  11. 若依如何防止请求重复提交?
  12. linux下 添加一个新账户tom,linux 账户管理命令 useradd、groupadd使用方法
  13. Mugeda(木疙瘩)H5案例课—重力感应类H5-岑远科-专题视频课程
  14. 货币的一种互联网体系架构
  15. 如何在phpstudy设置多站点和二级域名
  16. 包装行业数智化采购管理系统提升企业采购效率,构筑智慧采购新生态
  17. 把安卓手机屏幕投射到电脑上
  18. 车主因眼睛小被自动驾驶误判?——智能座舱CV体验的经典corner case剖析 by 资深AI产品经理@方舟...
  19. c++课后题,声明一个长方体类Box,该类有长度(length),宽度(width),高度(height)三个数据成员,类中有获取及修改长度…………
  20. CSS3实现流星动画

热门文章

  1. [转]这些道理不懂,你注定就是穷打工的命
  2. bzoj 1921: [Ctsc2010]珠宝商 后缀自动机+点分治
  3. html2:什么是超文本?
  4. Oracle迁移到mysql字符集_oracle数据库字符集characterset迁移及变更系列一
  5. Eigen内存分配器aligned_allocator
  6. UEFI入门之EDK II开发环境搭建
  7. BZOJ4939 [YNOI2016]掉进兔子洞
  8. 圆通快递单号免费查询接口,附带开发源码
  9. 【数据分析案例】从微信接龙中随机选择k名人员出席
  10. 配置jdbc遇到的问题