URl重写 != URL伪静态

市面上有很多URL重写的例子,有第三方的,有直接配置的,五花八门,在使用的时候请一定要考虑性能,我也来搅搅这趟浑水咯
我理解中的URL重写是:
在web.config文件<system.web>下配置

    < urlMappings >
      
< add url = " ~/index.asp "  mappedUrl = " ~/default.aspx " />
    
</ urlMappings >

运行后在地址栏输入index.asp会跳转到default.aspx页面,这个我称之为URL重写,这种方式是不需要进行IIS配置的,缺点是无法进行正则表达式的验证,使用面就狭窄了许多

URL伪静态就是:
第一,引用URLRewriter.dll
第二,在web.config文件<configSections>节点下配置

< section name = " RewriterConfig "  type = " URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter "   />

进行URL规则的匹配接点声明
第三,<system.web>  下配置

Code

进行过滤

第四,
<configuration>节点下,声明需要匹配URL的规则,例如:

Code

这样就完成URL伪静态的工作,如果要发布到服务器上还需要配置IIS
IIS5.1:虚拟目录 == 配置 == 添加 == 可执行文件:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll 扩展名 : .*  限制为:POST,GET 检查文件是否存在不勾选
IIS6.0:主目录 == 配置 == 插入 == 可执行文件:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll == 确认文件是否存在不勾选

第三方的和URL伪静态原理一样,推荐一个感觉不错的http://www.urlrewriter.cn/
使用URL伪静态对服务器的开销不小咯,另外的一个解决方案就是生成静态页,不过如果是平台型的网站数据量很大,建议还是用伪静态吧,毕竟十几万个页面生成下来,对磁盘的开销也不小了,并且容易造成冗余文件。

你可能感兴趣的:(url重写)