IIS环境下PHP rewrite重写设置(支持中文参数)
更新时间:2014年06月27日 22:39:04 作者:W3log
这篇文章主要介绍了IIS环境下PHP重写设置 支持中文参数,需要的朋友可以参考下
在网站根目录下加入:
Web.Config:
<?xml version="1.0" encoding=”UTF-8″?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="cnUrl" stopProcessing="true">
<match url="!^(index\.php|images|assets|robots\.txt)" />
<action type="Rewrite" url="cnurl.php" />
</rule>
<rule name="Default" 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>
cnurl.php:
<?php
if (isset($_SERVER['HTTP_X_ORIGINAL_URL'])) {
// IIS Mod-Rewrite
$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_ORIGINAL_URL'];
} else if (isset($_SERVER['HTTP_X_REWRITE_URL'])) {
// IIS Isapi_Rewrite
$_SERVER['REQUEST_URI'] = $_SERVER['HTTP_X_REWRITE_URL'];
} else {
// Use ORIG_PATH_INFO if there is no PATH_INFO
(!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'])) {
($_SERVER['PATH_INFO'] == $_SERVER['SCRIPT_NAME']) ? ($_SERVER['REQUEST_URI'] = $_SERVER['PATH_INFO']) : ($_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'] . $_SERVER['PATH_INFO']);
}
// Append the query string if it exists and isn't null
(isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING'])) && ($_SERVER['REQUEST_URI'] .= '?' . $_SERVER['QUERY_STRING']);
}
require("index.php");
支持IIS环境下跑各种开源PHP项目,如:Wordpress、Emlog、Typecho等。
相关文章
Windows7下安装 Nodejs 并在 WebStorm 9.0.1 下搭建编译 LESS 环境的图文教程
本文通过图文并茂的形式给大家介绍了Windows7下安装 Nodejs 并在 WebStorm 9.0.1 下搭建编译 LESS 环境,非常不错,具有参考借鉴价值,感兴趣的朋友一起看看吧2016-11-11
IIS7/IIS7.5/IIS8网站目录执行权限设置方法(与IIS6不同)
这篇文章主要介绍了IIS7/IIS7.5/IIS8网站目录执行权限设置方法(与IIS6不同),需要的朋友可以参考下2016-06-06
windows10下无U盘安装ubuntu18 使用EasyUEFI
这篇文章主要介绍了windows10下无U盘安装ubuntu18 使用EasyUEFI(一点点体会),需要的朋友可以参考下2019-09-09
Win2008 R2 IIS7.5+PHP5(FastCGI)+MySQL5环境搭建教程
现在很多朋友想尝试win2008 r2来跑web服务器,跟win2003相比界面差别有点大,有些人可能不太习惯,不过以后是趋势啊,这里简单分享下,方便需要的朋友2013-06-06


最新评论