IIS7.5下web.config伪静态设置方法

飘逸的风12年前 (2013-07-16)经验9880

近几天公司里开发的项目有几个运行在IIS7.5上,由于全站采用的是伪静态,因此从网上找到两两种方法来实现。这两种方法各有优势:第一种比较灵活,只要把文件拷到根目录下,即可直接显示所有伪静态页面(适用于此伪静态规则的所有项目,如ThinkPHP),无需更改代码;第二种适合有子目录时的伪静态,比如一个网站下有多个子网站(如:www.openkee.com/blog),且都要使用伪静态,那么就考虑使用第二种方法了,第一种会报错误。两种方法,自己根据情况使用吧(当然,并不是适用所有项目,可以根据项目的伪静态规则自行调整)。以下是代码:

第一种方法:web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
	<rewrite>
		<rules>
		<rule name="OrgPage" stopProcessing="true">
		<match url="^(.*)$" />
		<conditions logicalGrouping="MatchAll">
		<add input="{HTTP_HOST}" pattern="^(.*)$" />
		<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
		<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
		</conditions>
		<action type="Rewrite" url="index.php/{R:1}" />
		</rule>
		</rules>
	</rewrite>
    </system.webServer>
</configuration>

第二种方法:web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="规则 1" stopProcessing="true">
                    <match url="^includes/(.*)" />
                    <action type="Rewrite" url="includes\/{R:1}" />
                </rule>
				<rule name="规则 2" stopProcessing="true">
                    <match url="^(blog)/includes/(.*)" />
                    <action type="Rewrite" url="{R:1}/includes\/{R:2}" />
                </rule>
                <rule name="规则 3" stopProcessing="true">
                    <match url="^(blog)/(.*).html(.*)" />
                    <action type="Rewrite" url="{R:1}/index.php\/{R:2}.html{R:3}" />
                </rule>
                <rule name="规则 4" stopProcessing="true">
                    <match url="^(.*).html(.*)" />
                    <action type="Rewrite" url="index.php\/{R:1}.html{R:2}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

这两种方法也许不是最好的,但却是很实用。如果各位网友有更好的IIS7.5伪静态方法,可以在下面留言,好资源大家分享嘛!

 

相关文章

外贸商城开发经验分享

外贸商城开发经验分享

商城名称:Wholesale Gold Filled Jewelry, Gold Plated Jewelry, Cubic Zirconia Jewellery: JewelCZ 商城网址:htt...

53种方法可以提高PHP的编程效率

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说...

一些可以查询IP地理位置、身份证所在地、手机归属地的接口

新浪的IP查询接口: 新浪的:https://counter.sina.com.cn/ip?ip=IP地址 返回Js数据,感觉不是很精确,可以把问号后面的去掉,直接返回本机对应的IP所在地...

PHP 不支持CURL的解决方法

最近为了给openkee.com博客的域名备案,把网站程序临时转到et53.com上面,由于博客采用的是emlog内核,而且使用了云插件,结果导致提交日志时报500错误。服务器采用的是PHP+IIS,...

IIS设置支持flv,f4v,mp4,ogv,webm

IIS设置支持flv,f4v,mp4,ogv,webm

以配置支持flv格式为例 在iis的Internet信息服务(2003)点击右键 或指定的网站上(高版本的iis)右键选择“属性”,在弹出的窗口中选择“HTTP头”选项卡,然后点击“MIME类型”,...

HTTPS优缺点、原理解析:我们的网站该不该做HTTPS?

HTTPS优缺点、原理解析:我们的网站该不该做HTTPS?

我们对于做不做HTTPS网站这一问题进行了相关调研。 HTTPS是什么 HTTPS(全称:Hyper Text Transfer Protocol over Secure...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。