马会东的博客

马会东的博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

参考网址: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插件,不需要其他设置,即可去掉这一分类。

posted on 2016-02-15 18:02  马会东  阅读(1568)  评论(0编辑  收藏  举报