URL重写不仅仅对搜索引擎更好的收录有帮助而且从用户体验来考虑,重写后的url地址显然友好性更高。

这里主要说一下三种常见的url重写的实现以及需要注意的事项。

前置条件,下载微软的URLRewriter.rar,将URLRewriter.dll放到目录的bin下。

例如项目地址为:http://localhost:4361/MyURLRewrite/Default.aspx

首先配置web.config文件,在<configSections>节点下添加

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

然后<configuration>总节点下添加

 

<RewriterConfig>
    <Rules>
<!--http://localhost:4361/MyURLRewrite/Default.aspx?id=123 重写为 http://localhost:4361/MyURLRewrite/123.aspx -->
    <RewriterRule>
<LookFor>~/(\d{0,999999})\.aspx</LookFor>
<SendTo>~/default.aspx?ID=$1</SendTo>
            </RewriterRule>
       <!--http://localhost:4361/MyURLRewrite/Default2.aspx?id=123 重写为 http://localhost:4361/MyURLRewrite/123.html -->
   <RewriterRule>
<LookFor>~/(\d{0,999999})\.html</LookFor>
<SendTo>~/default2.aspx?id=$1</SendTo>
   </RewriterRule>
       <!--http://localhost:4361/MyURLRewrite/Default3.aspx?id=123 重写为 http://localhost:4361/MyURLRewrite/123/-->
           <RewriterRule>
<LookFor>~/(\d{0,999999})/</LookFor>
<SendTo>~/default3.aspx?id=$1</SendTo>
   </RewriterRule>
       </Rules>
 </RewriterConfig>

 

 

然后配置<httpHandlers>

<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
 <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
 <add verb="*" path="*" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />

 

 

web.config就配置完了以后,

对于第一种url重写情况现在就可以生效了。

对于第二种url重写还需要配置一下IIS站点属性,IIS站点>属性>主目录>配置>,这里添加一个和.html的扩展名映射,可执行文件和.aspx的是一样的,同时取消确认文件是否存在选项。

配置完这个以后第二种URL重写就生效了。

对于第三种url重写情况需要添加一个*.*的映射,可执行文件和.aspx的也是一样的,同时取消确认文件是否存在选项。

这样第三种url重写就可以生效了。

 

可能存在的问题和解决办法:

1.图片不显示(CSS、JS路径不对)

修改图片的代码路径,例如:

<img src="images/map.gif" />

修改为:

<img src="http://images.cnblogs.com/map.gif" />

2.网站性能下降

解除图片文件夹的*.*映射(CSS、JS文件夹的操作是一样的)

IIS站点>图片文件夹>属性>目录>创建,删除如下图所示的那一项之后就解除了该文件夹下的*.*映射

 

这样配置完了之后,图片可以正常显示,并且能显著解决url重写后对整个站点带来的性能问题。

转自:http://www.cnblogs.com/NicholasLee/archive/2010/11/10/1873750.html

posted on 2012-08-17 14:48  mrma1989  阅读(300)  评论(0编辑  收藏  举报