IIS 6下我们要设置伪静态的方法很简单,到IIS 7中也一样简单,只是界面不一样而已,具体看图。
把MSDNURLRewriting源码编译成URLRewriter.dll,然后在项目中引用URLRewriter.dll
WEB.CONFIG的设置:
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />-->
<?
xml version
=
"
1.0
"
encoding
=
"
utf-8
"
?>
< configuration >
< configSections >
< section name = " RewriterConfig " type = " URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter " />
</ configSections >
< RewriterConfig >
< Rules >
< RewriterRule >
< LookFor >~/ web / new / type / (.[ 0 - 9 ] * )\.html </ LookFor >
< SendTo >~/ web / new .aspx ? id = $ 1 </ SendTo >
</ RewriterRule >
< RewriterRule >
< LookFor >~/ web / index.html </ LookFor >
< SendTo >~/ web / index.aspx </ SendTo >
</ RewriterRule >
</ Rules >
</ RewriterConfig >
< appSettings />
< connectionStrings />
< system.web >
<!--
设置 compilation debug = " true " 可将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true 。
-->
< compilation debug = " false " >
</ compilation >
<!--
通过 < authentication > 节可以配置 ASP.NET 用来
识别进入用户的
安全身份验证模式。
-->
< authentication mode = " Windows " />
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 < customErrors > 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。
< customErrors mode = " RemoteOnly " defaultRedirect = " GenericErrorPage.htm " >
< error statusCode = " 403 " redirect = " NoAccess.htm " />
< error statusCode = " 404 " redirect = " FileNotFound.htm " />
</ customErrors >
-->
< httpHandlers >
< add verb = " * " path = " *.aspx " type = " URLRewriter.RewriterFactoryHandler, URLRewriter " />
< add verb = " * " path = " *.html " type = " URLRewriter.RewriterFactoryHandler, URLRewriter " />
</ httpHandlers >
</ system.web >
</ configuration >
< configuration >
< configSections >
< section name = " RewriterConfig " type = " URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter " />
</ configSections >
< RewriterConfig >
< Rules >
< RewriterRule >
< LookFor >~/ web / new / type / (.[ 0 - 9 ] * )\.html </ LookFor >
< SendTo >~/ web / new .aspx ? id = $ 1 </ SendTo >
</ RewriterRule >
< RewriterRule >
< LookFor >~/ web / index.html </ LookFor >
< SendTo >~/ web / index.aspx </ SendTo >
</ RewriterRule >
</ Rules >
</ RewriterConfig >
< appSettings />
< connectionStrings />
< system.web >
<!--
设置 compilation debug = " true " 可将调试符号插入
已编译的页面中。但由于这会
影响性能,因此只在开发过程中将此值
设置为 true 。
-->
< compilation debug = " false " >
</ compilation >
<!--
通过 < authentication > 节可以配置 ASP.NET 用来
识别进入用户的
安全身份验证模式。
-->
< authentication mode = " Windows " />
<!--
如果在执行请求的过程中出现未处理的错误,
则通过 < customErrors > 节可以配置相应的处理步骤。具体说来,
开发人员通过该节可以配置
要显示的 html 错误页
以代替错误堆栈跟踪。
< customErrors mode = " RemoteOnly " defaultRedirect = " GenericErrorPage.htm " >
< error statusCode = " 403 " redirect = " NoAccess.htm " />
< error statusCode = " 404 " redirect = " FileNotFound.htm " />
</ customErrors >
-->
< httpHandlers >
< add verb = " * " path = " *.aspx " type = " URLRewriter.RewriterFactoryHandler, URLRewriter " />
< add verb = " * " path = " *.html " type = " URLRewriter.RewriterFactoryHandler, URLRewriter " />
</ httpHandlers >
</ system.web >
</ configuration >
如果要伪静态*.HTML,需要更改应用程序映射(微软推出了 Microsoft URL Rewrite Module for IIS 7.0,服务器安装了该组件的空间,可以不用进行下面的步骤,直接在WEB.CONFIG中设置就行,具体看我的另外一篇博客文章)
步骤1:
在对应“站点”中的“功能视图”中双击“处理程序映射”。
步骤2:
步骤2为选择“添加脚本映射”
步骤3:
可执行文件路径一般为:
C:"WINDOWS"Microsoft.NET"Framework"v2.0.50727"aspnet_isapi.dll,具体路径根据.NET安装路径来设置,默认一般在C盘下
到这里就设置完毕了。
//---------------------------------------------------------------------------------------
关于“请求限制”的设置说明,请参考下图:
请求限制中,映射的设置不需要勾选,(默认也是不勾选的,但检查一下为好,防止出错)