iis7下常用程序的伪静态规则列表(包括wordpress)
author:一佰互联 2016-01-31   click:3186

iis7下常用程序的伪静态规则列表(包括wordpress)

 

wordpress设置:

第一步:

新建一个“chineseurl.php”文件:

在里面写入以下代码上传到wordpress安装目录。

<?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\");
?>

第二步:

1、新建一个文件命名为web.config,在里面写入以下规则

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
< configuration>
< system.webServer>
< rewrite>
< rules>
< rule name=\"ChineseURL\" stopProcessing=\"true\">
< match url=\"^(.*)$\" />
< conditions>
< add input=\"{REQUEST_FILENAME}\" matchType=\"IsFile\" negate=\"true\" />
< add input=\"{REQUEST_FILENAME}\" matchType=\"IsDirectory\" negate=\"true\" />
< /conditions>
< action type=\"Rewrite\" url=\"chineseurl.php\"/>
< /rule>
< /rules>
< /rewrite>
< /system.webServer>
< /configuration>

以上规则适用wordpress后台默认标签前缀和分类目录都未更改。 


2、 默认的标签前缀和分类目录前缀有更改的情况下,web.config规则如下

<?xml version=\"1.0\" encoding=\"UTF-8\"?>
< 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>

注意:“<match url=”^(tag|category)/(.*)$” />”需要根据实际目录来修改,假如安装在blog目录,则应改为“<match url=”^blog/(tag|category)/(.*)$” />” 标签前缀和分类目录名称根据实际目录修改。