ASP.NET实现伪静态技术(Url Rewriting)
ASP.NET实现伪静态技术
使用环境:Windows XP Professional
开发平台:NET2.0,VS2005
实现功能:实现了伪静态技术的实现,可以实现诸如Show.aspxMyID=1成功转换为1.html的转换,分享一下:
一、引言:
伪静态技术可以实现诸如Show.aspxMyID=1成功转换为1.html的转换。 我们为什么不直接使用Show.aspx?MyID=1,这种访问方式而非要使用1.html这样的访问方式呢。
Asp.net伪静态的好处:运行PHP,ASP.NET,JSP,ColdFusion的网页服务器(如IIS,Apache),大多可以用URL Rewriting来实现隐藏或改变拓展名。大网站,象腾讯,百度(用PHP),都在用URL Rewriting的方法来把拓展名隐藏或改变。好处有几点:
1. 搜索引擎比较喜欢.html,.htm的(与.jsp,.php,.aspx,.cff相比),因为.html, .htm是静态的,更容易让引擎了解你网页的内容。而动态网页的内容是根据用户,来输出不同的内容,不容易让引擎吸收具体HTML内容。
2. 如果不用URL Rewriting将拓展名隐藏或改成.html,那么假如这个网站要换个技术或把动态页面换成静态,则需要寻找所有含有拓展名的连接,把连接所含URL进行拓展名修改(如从JSP换到PHP技术,则要寻找所有含有.jsp的页面,并把所有含.jsp的URL改成.php,费时费力)。URL Rewriting正好避免了这点,因为好的URL是能做到“不变应完变”的。
3. 防止某些黑客恶意攻击。有些大网站采用不同的技术开发不同功能的页面。而把拓展名改掉,让黑客无法确认此页面用的技术是什么,从而就无从下手。
4. 方便访问者使用。访问者不是程序员,他们不明白什么是.jsp,.php.aspx,他们只知道URL。所以统一把拓展名拿掉,或者同意把拓展名换为html,htm,有利于用户的使用。用户可以知道现在在你网站的位置,如何通过输入URL到某一页面。
二、详细的实现过程:
①:首先要有这个文件URLRewriter.dll,如果没有,本地下载,并将其放到下面的bin目录里面,并且将其引用添加到下面里面;
②:下面就是Web.Config文件的配置了,当然,配置过程相当简单:
1:先添加这个
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
2:再添加这个
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
至此,已成功一大半,上面两个都添加到Web.Config,添加到什么位置看来没必要讲了!
三、IIS配置
最后一步:在IIS中找到自己的虚拟目录网站,点属性,然后点配置,然后弹出应用程序配置对话框,选择添加,添加的可执行文件路径为c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll,扩展名处填入.html,然后把检查文件是否存在的勾去掉,这样就可以了。