IIS环境下wordpress中永久链接去掉index.php

最近经常有同学问我Wordpress上设置永久链接前面的index.php怎么去掉。这其实和服务器有关,IIS 和Apache 下,情况不大一样。一般出现index.php 主要是iis这边设置的问题。网上找了一些资料,以下这篇文章测试可用。

=======================

因为服务器是使用的Windows2003+IIS,想摆脱Wordpress永久链接前面的index.php不像在APACHE下那么容易。只好GOOGLE+BAIDU,输入词条,搜到N多关于WP永久链接的文章。

最后发现两种已成功实现的方案:

第一种方案:

不需要第三方插件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下载

转自:http://www.ossi.cn/2009-02/iis-wordpress-indexphp

在IE下去除 hr 标签的border样式

在IE下,我们可以这样实现

/* ------- EMBEDDED ------- */
<!--[if IE]>
<style type="text/css">
#primary-content  hr {
display : list-item;
list-style : url(/assets/images/wide-rule.gif) inside;
filter : alpha(opacity=0);;
margin-left: -10px;
width : 0;
}
</style>
<![endif]-->

在非IE下则很方便,可以直接用border:0搞定。

/* ----- STYLESHEET ----- */

hr{
background:url(short-rule.gif) repeat-x top left;
border: 0;
}

网站被K或被降权的解决办法

网上很多这类文章,无非就是增加高质量外链和写原创文章。来来去去就是讲道理,大家都知道是这么回事,但却不知道如何去操作。

经过我实践,网站恢复收录和重新获得排名,最直接的办法就是海量发布网站外链,猛做核心关键词排名

但假如你的站已经被K了,那还需要在乎外链稳定不稳定吗?这时已经没有任何顾虑的去做外链的,破罐子破摔。群发外链才是硬道理

关于群发,很多人都有这误区,群发会被K站。而实际上,群发是最有效提升排名的做法,导致K站的情况很多,但唯一不可能的情况就是:你发外链把网站发K了。只有外链不稳定,波动大,或外链周期不稳定,才有可能被K。而群发外链,会很难把握外链的稳定性,而这点,就是区分高手和菜鸟的关键。高手群发就提升排名,菜鸟就会被K站。

我有几个站,被百度K了后,每天群发几千篇帖子,外链以每天500+的速度增长,1个月左右的时间,站就重新被收录了。而重新收录的站,会获得比之前更好的排名。

所以K站实际上也是提升排名的一种方式,是一种风险很高的方式!

除了群发,还有另外一个办法。如果网站被K了,那可以直接去A5那写篇文章,文章越变态越好,要非主流,让人觉得有意思。文章里一定要有被K网站的首页地址。比如这些:http://www.admin5.com/plus/search.php?keyword=%B1%BBK&kwtype=0&searchtype=titlekeyword&button=%CB%D1%CB%F7

你肯定会问这样做的目的是什么?A5网站聚集了一大批闲杂人士,整天没事干就上论坛泡着。只要你拿被K的站做个案例分析,他们便会像SB一样在百度上搜索,打开网站拼命的看。这样,站的权重就提升了,被K的站也就回来了。