• 售前

  • 售后

热门帖子
入门百科

IIS6.0下Wordpress 去掉 index.php 和 category 的方法小结

[复制链接]
乔微博 显示全部楼层 发表于 2021-8-15 19:52:25 |阅读模式 打印 上一主题 下一主题
Wordpress 版本:3.3.1

一. 去掉 index.php

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


复制代码代码如下:
<?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上传到网站根目次。

复制代码代码如下:
<?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下载

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作