当前位置首页 > IIS知识

winserver2008r2iis7.5实现phpwordpressurl静态化操作步骤(UrlRewrite实现)

阅读次数:255 次  来源:admin  发布时间:

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

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

说明:

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

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

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

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

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

lt;?ph

// 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 文件,如果没有就新建一个,同样复制下面这段代码,并上传到网站的根目录:

lt;configuration>

lt;system.webServer>

lt;rewrite>

lt;rules>

lt;rule name=”ChineseURL” stopProcessing=”true”>

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

lt;/rule>

lt;rule name=”wordpress” patternSyntax=”Wildcard”>

lt;match url=”” />

lt;conditions>

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

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

lt;/conditions>

lt;action type=”Rewrite” url=”index.php” />

lt;/rule>

lt;/rules>

lt;/rewrite>

lt;/system.webServer>

lt;/configuration>

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

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

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

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

上一篇:apache与iis共存
下一篇:64位的Ubuntu系统上使用汇编nasm和C语言