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

飘逸的风13年前 (2013-07-16)经验10061

近几天公司里开发的项目有几个运行在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伪静态方法,可以在下面留言,好资源大家分享嘛!

 

相关文章

关于经验分享栏目

  以前做过很多项目,小到一个留言板,大到综合门户站,基本上的网站都接触过。个人单独开发过,多人团队也一起开发过。总的来说,从2008年工作到现在,也积累了不少经验。接下来,我会将我做过的比较满意的项...

外贸商城开发经验分享

外贸商城开发经验分享

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

PHP 不支持CURL的解决方法

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

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

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

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

禁止网站被别人通过iframe引用

如题,解决方案如下: 解决方案一:js方法 这种方法不可靠,不推荐使用 <script type="text/javascript"> if(self != top)...

发表评论

访客

看不清,换一张

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