投稿 评论 顶部

Asp.net配置伪静态规则

佚名 网络安全

第二步:在网站项目中添加URLRewriter程序集的引用。

1<configSections></configSections>

<!--1.URL重写]注册配置节点RewriterConfig,在configuration下,configSections节点的首位置-->
<configSections>
??? <section name="RewriterConfig" requirePermission="false" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
</configSections>
<!--2.确定配置规则:LoookFor:要查找的模式,SendTo:要用来替换模式的字符串-->
? <RewriterConfig>
??? <Rules>
????? <RewriterRule>
??????? <LookFor>~/Login.html</LookFor>
??????? <SendTo>~/Login.aspx</SendTo>
????? </RewriterRule>?????
??? </Rules>
? </RewriterConfig>

?<!--3.注释掉 <httpModules> 条目,以使用 HTTP 模块执行重写;注释掉 <httpHandlers> 条目,以使用 HTTP 处理程序执行重写。-->
??? <httpModules>
????? <add type="URLRewriter.ModuleRewriter,URLRewriter" name="ModuleRewriter"/>
??? </httpModules>

第四部:配置IIS7.5IIS7.0

??、新建一个应用程序池:名称:任意如:webapp;选择net FrameWork版本(如果你的网站时候2.0的话就选择2.0,我的是4.0)在此我选择Net FramWork v 4.030319. 托管管道模式先暂时设置为集成模式。等下面的设置完成之后再将托管管道模式设置为经典模式。如果下面的设置完成之后不把应用程序设置为经典模式的话,伪静态的功能可以实现,但是页面的样式图片不能正常显示这是设置的关键。

??、新建一个网站 website,将此站点的应用程序程序池设置为webapp

、选中你的站点比如website ,并且切换到功能视图。双击【处理程序映射】在打开窗口右侧的操作栏目下做如下操作。

、【添加脚本映射】-路径为:*.html.可执行文件为:C:/Windows/Microsoft.NET/Framework/v4.0.30319/aspnet_isapi.dll注意:如果你的网站是2.0。可执行文件为:C:/Windows/Microsoft.NET/Framework/v2.0.50727/aspnet_isapi.dll。名称:任意,比如:html.
????? 3.2
、【添加通配符脚本映射】 请求路径为*。可执行文件和3.1的一模一样,名称任意,比如:All.

、【托管处理程序映射】(路径:*? 可执行文件:System.Web.UI.PageHandlerFactory名称 任意 比如Html-Integrate)

、双击website站点切换到站点功能视图。然后双击模块,打开窗口之后在右侧的操作栏目下面,单击【添加托管模块】-》名称:任意 如All?类型:URLRewriter.ModuleRewriter 并且 把【仅针对向asp.net应用程序或托管处理程序发出请求调用】前面的选项勾上。(记住一定要勾上)。

、最后一步:双击iis7.07.5的应用程序池。在应用程序池列表中找到【webapp】应用程序池。双击打开之后。将webapp应用程序池的【托管管道模式】设置为经典模式。

当然在配置iis7.0和iis7.5时还有更简单的方法。将微软官方的url包安装到服务器上,在服务器上导入配置规则文件,

RewriteRule ^news/([0-9]+)/.html$ news/xx.aspx?id=$1 #注释

。。。。

文件名后缀为.htaccess,将网站暂停,点击UrlWriter,导入规则应用即可,当然在开发过程当中,为了便于测试,最好是将两种方法结合使用,再在web.config中将相关的urlwriter重写配置项注释或删除即可!

http://www.passji.com