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