winserver 2008 r2 iis7.5 实现php wordpress url静态化操作步骤,UrlRewrite实现

参考网址:http://jingyan.baidu.com/article/cbf0e500ebec582eaa2893d2.html

文中涉及到的程序源码以及配置 详见附件:https://files.cnblogs.com/files/duanweishi/WordPress_urlrewrite.zip

说明:

1.所有配置以附件中为准,下文中的web.config配置之后,无法正常浏览css和图片,参考附件中的配置即可

2.web.config中ChineseURL相关的url重写配置,主要用于分类和标签的实现

第一步:首先下载安装url Rewrite:

下载地址:http://www.iis.net/downloads/microsoft/url-rewrite

第二步:新建一个“chineseurl.php”的文件,并将下面的内容复制进去,再上传到网站根目录:

<?php

// IIS Mod-Rewrite

if (isset($_SERVER['HTTP_X_ORIGINAL_URL'])) {

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

}

// IIS Isapi_Rewrite

else if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {

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

}

else

{

// Use ORIG_PATH_INFO if there is no PATH_INFO

if ( !isset($_SERVER['PATH_INFO']) && isset($_SERVER['ORIG_PATH_INFO']) )

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

// Some IIS + PHP configurations puts the script-name in the path-info (No need to append it twice)

if ( isset($_SERVER['PATH_INFO']) ) {

if ( $_SERVER['PATH_INFO'] == $_SERVER['SCRIPT_NAME'] )

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

else

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

}

// Append the query string if it exists and isn’t null

if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) {

$_SERVER['REQUEST_URI'] .= ’?' . $_SERVER['QUERY_STRING'];

}

}

require(“index.php”);

?>

第三步:修改 web.config 文件

修改 web.config 文件,如果没有就新建一个,同样复制下面这段代码,并上传到网站的根目录:

<configuration>

<system.webServer>

<rewrite>

<rules>

<rule name=”ChineseURL” stopProcessing=”true”>

<match url=”^(tag|category)/(.)$” /> <action type=”Rewrite” url=”chineseurl.php”/>

</rule>

<rule name=”wordpress” patternSyntax=”Wildcard”>

<match url=”” />

<conditions>

<add input=”{REQUEST_FILENAME}” matchType=”IsFile” negate=”true” />

<add input=”{REQUEST_FILENAME}” matchType=”IsDirectory” negate=”true” />

</conditions>

<action type=”Rewrite” url=”index.php” />

</rule>

</rules>

</rewrite>

</system.webServer>

</configuration>

第四步:在wordpress设置中的固定链接自定义结构

完成以上步骤后,就可以直接在wordpress设置中的固定链接自定义结构了,一般是使用:/%post_id%.html 根据自己的选择是否使用.html。

第五步:下载并启动WP No Category Base插件

完成以上步骤后,恭喜你啦,已经实现了Wordpress在windows,IIS中实现伪静态,这时候我们会发现栏目中多了一行没用的分类,只需要下载并启动WP No Category Base插件,不需要其他设置,即可去掉这一分类。