• 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:先添加这个

    Code
    <configSections>
    <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
    </configSections>
    <RewriterConfig>
    <Rules>
    <!-- Rules for Blog Content Displayer -->
    <RewriterRule>
    <LookFor>~/(.[0-9]*)\.html</LookFor>
    <SendTo>~/ArticleDetail.aspx?MyID=$1</SendTo>
    </RewriterRule>
    <!-- Rules for News view -->
    <RewriterRule>
    <LookFor>~/News_View_(.[0-9]*)\.html</LookFor>
    <SendTo>~/News_View.aspx?n_ID=$1</SendTo>
    </RewriterRule>
    </Rules>
    </RewriterConfig>

            2:再添加这个

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

        至此,已成功一大半,上面两个都添加到Web.Config,添加到什么位置看来没必要讲了!   

    三、IIS配置

         最后一步:在IIS中找到自己的虚拟目录网站,点属性,然后点配置,然后弹出应用程序配置对话框,选择添加,添加的可执行文件路径为c:\windows \microsoft.net\framework\v2.0.50727\aspnet_isapi.dll,扩展名处填入.html,然后把检查文件是否存在的勾去掉,这样就可以了。

  • 相关阅读:
    反向传播(BP)算法理解以及Python实现
    tf.pad()
    Machine Learning-KNN
    【Python之os模块】使用
    Python实现返回指定范围内的所有素数
    Python中的map_reduce
    杨辉三角的Python实现
    斐波那契数列的Python实现
    Python中的可迭代对象
    NoReferencedTableError: Foreign key associated with column ** with which to generate a foreign key to target column 'id'
  • 原文地址:https://www.cnblogs.com/hakuci/p/1878599.html
Copyright © 2020-2023  润新知