• NET URL重写


    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

  • 相关阅读:
    package相关知识
    【算法设计与分析】5个数7次比较排序的算法
    Android下的应用编程——用HTTP协议实现文件上传功能
    5个数通过7次比较排序的方法
    数据库范式(1NF、2NF、3NF、BCNF)
    HttpDownloader2011年09月20日 写好用于下载的类 并且封装好
    POJ 1692 DP
    POJ 1682 多重DP
    TYVJ 1744 逆序对数(加强版)
    POJ 2151 概率DP
  • 原文地址:https://www.cnblogs.com/mrma/p/2644048.html
Copyright © 2020-2023  润新知