`
tudusi
  • 浏览: 1085364 次
文章分类
社区版块
存档分类
最新评论

ASP.NET实现伪静态技术

 
阅读更多

一、引言:

伪静态技术可以实现诸如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:先添加这个

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

<RewriterConfig>
<Rules>
<!--RulesforBlog Content Displayer-->
<RewriterRule>
<LookFor>~/(.[0-9]*)\.html</LookFor>
<SendTo>~/ArticleDetail.aspx?MyID=$1</SendTo>
</RewriterRule>

<!--RulesforNews view-->
<RewriterRule>
<LookFor>~/News_View_(.[0-9]*)\.html</LookFor>
<SendTo>~/News_View.aspx?n_ID=$1</SendTo>
</RewriterRule>

</Rules>
</RewriterConfig>

2:再添加这个

<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,然后把检查文件是否存在的勾去掉,这样就可以了。

分享到:
评论

相关推荐

    asp.net伪静态完整代码

    ASP.NET伪静态技术是Web开发中的一个重要概念,它主要用于优化网站的搜索引擎友好度(SEO)以及提高用户体验。在传统的ASP.NET应用程序中,URL通常会显示实际的文件路径和扩展名,例如“Default.aspx”或...

    Asp.Net实现伪静态

    在ASP.NET中实现伪静态是一种优化网站性能和搜索引擎优化(SEO)的重要技术。伪静态,顾名思义,就是让动态网页看起来像静态页面一样,实际上仍然是由服务器处理的动态内容。这种技术能够提高用户体验,因为静态页面...

    伪静态的实现及伪静态的意义.ASP.NET

    在IT领域,尤其是在Web开发中,伪静态技术是一种常见的优化策略,主要应用于ASP.NET等动态网站框架中。本文将详细探讨伪静态的实现及其意义。 首先,伪静态的主要作用是提高搜索引擎的友好性。搜索引擎爬虫在抓取...

    .net实现伪静态

    例如,下面的代码将把一个动态的ASP.NET MVC路由转换为伪静态格式: ```xml ^([^/]+)/?$" /&gt; ``` 这个例子中,`^([^/]+)/?$`是正则表达式,匹配所有形如`/example`的URL,然后将`...

    【ASP.NET编程知识】aspnetcore 实现简单的伪静态化功能.docx

    在 ASP.NET Core 中实现伪静态化功能对于提高网站性能和优化用户体验有着重要的作用。伪静态化使得动态生成的网页在 URL 上看起来像是静态页面,从而在不增加服务器负担的同时,提升了搜索引擎优化(SEO)的效果。 ...

    asp.net伪静态DEMO

    在VS2008环境下开发ASP.NET伪静态,主要是为了利用.NET Framework 3.5或更低版本的功能来实现这一目的。 在开始之前,我们需要了解什么是伪静态。伪静态并不是真正生成了静态HTML文件,而是通过服务器端的重写技术...

    asp.net 伪静态 源码

    三、ASP.NET伪静态实现方式 1. 使用HttpModule:自定义HttpModule可以拦截HTTP请求,根据预设规则修改URL。 2. 使用URLRewrite模块:这是IIS中的一个内置模块,可以通过Web.config配置文件设置重写规则。 3. 使用ASP...

    asp.net 伪静态源码

    ASP.NET伪静态源码是一种技术实现,用于将动态网页通过技术手段转化为静态页面的外观,以提高网站的SEO(搜索引擎优化)性能、加载速度和用户体验。动态网页在服务器端生成内容,而伪静态则使URL看起来像是直接指向...

    asp.net伪静态

    asp.net伪静态 网站伪静态 全站伪静态

    ASP.NET 伪静态页面的实现

    实现ASP.NET伪静态页面,通常涉及以下步骤: 1. **引用库**:需要引入第三方库,如`ActionlessForm.dll`和`URLRewriter.dll`,其中`URLRewriter.dll`是主要的URL重写组件,而`ActionlessForm.dll`可能用于处理无...

    .net配置伪静态

    在.NET开发环境中,为了优化网站性能,提升用户体验,常常会使用到“伪静态”技术。伪静态是一种将动态页面转化为静态URL的技术,使得用户在访问时看到的是类似于静态页面的URL,但实际上这些页面仍然是由服务器动态...

    ASP.NET伪静态示例

    ASP.NET伪静态技术是一种在ASP.NET应用程序中实现静态网页效果的技术。它主要目的是为了提高网站的SEO(搜索引擎优化)性能,因为搜索引擎更倾向于抓取和索引静态网页内容。此外,伪静态还可以改善用户体验,降低...

    asp.net 2.0伪静态 包含css和图片

    在这个特定的项目中,我们关注的是"asp.net 2.0伪静态 包含css和图片",这是一个实现静态URL重写技术的示例,这种技术对于SEO(搜索引擎优化)和用户体验都有很大帮助。 伪静态技术的主要目的是将动态URL转换为看...

    .net中用伪静态实现新闻分页

    标题中的“.net中用伪静态实现新闻分页”指的是在.NET框架下,如何通过编程手段让新闻列表的分页链接看起来像静态页面,而不是典型的动态参数链接。下面我们将深入探讨这一主题。 1. **理解伪静态** - 伪静态的...

    asp.net 伪静态各种方法重写与例子

    在ASP.NET中,"伪静态"是一种技术,用于将动态URL转换为看起来像是静态页面的URL,以此来提升SEO(搜索引擎优化)效果和用户体验。这是因为静态URL通常被认为对搜索引擎更友好,而且对于用户来说,静态URL更易于理解...

    asp.net 伪静态实现和IIS7.0配置(包含UrlRewriter.dll文件)

    ASP.NET伪静态是一种技术,它将动态网页的URL转换为静态化的HTML文件形式,从而提供对搜索引擎更加友好的URL结构,同时也能提升用户体验。在ASP.NET框架中,伪静态可以通过第三方库如UrlRewrite来实现。本文将详细...

    ASP.NET页面静态化,伪静态化

    ASP.NET页面静态化和伪静态化是Web开发中提高网站性能和SEO优化的重要技术。页面静态化是指将原本动态生成的HTML页面转化为静态HTML文件,这样用户请求时无需执行服务器端的代码,直接从硬盘读取文件,提高了访问...

    Asp.net URLRewriter伪静态代码示例

    在本示例中,我们将探讨如何在Asp.net中实现URLRewriter,以创建伪静态的URL。 1. **URLRewriter的概念** URLRewriter是一种中间件或模块,它解析请求的URL,根据预定义的规则将其转换为其他URL。这种转换过程通常...

    asp.net伪静态处理

    在压缩包中的"asp.net伪静态"文件可能包含了具体的配置示例、教程文档或者是一个已经实现伪静态功能的示例项目。这些资源可以帮助开发者更好地理解和实践ASP.NET伪静态处理。 总结起来,ASP.NET伪静态处理是一项...

Global site tag (gtag.js) - Google Analytics