`
cv_air
  • 浏览: 6713 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

asp.net url静态化的两种方式

 
阅读更多

很多的SEO学习资料中都讲到,目录的权重要比页面的高。比如http://www.591gu.com/report_673434_002299/这个目录,权重会高于 http://www.591gu.com/showreport.aspx?id=673434&code=002299。因此如果我们能将页 面尽量目录化,对于提高排名是有些帮助的。例如wordpress就提供了这类的功能。那么,我们怎么在aps.net中实现url静态化呢?有两种方 式:

一、利用ISAPI_rewrite。

ISAPI_rewrite的网址:www.isapirewrite.com 。到其主页下载ISAPI_Rewrite.ISAPI_Rewrite精简版(Lite)或完全版(Full)。精简版不支持对每个虚拟主机站点进行重写,只能进行全局处理。

下载完毕后,执行安装。安装完毕后,打开IIS,在“ISAPI筛选器选项卡”中,添加筛选器。名称任意填,路径选择ISAPI_Rewrite.dll的安装目录,然后确定。

最后一步,添加urlrewrite规则。打开ISAPI_Rewrite的安装目录,将httpd.ini文件的只读属性去掉。用记事本软件将其 打开。假设我们要把http://www.591gu.com/showreport.aspx?id=673434&code=002299映 射成为http://www.591gu.com/report_673434_002299/,需要在httpd.ini里加入下面行代码即可:
RewriteRule /report_([0-9,a-z]*)_([0-9,a-z]*)/showreport.aspx?id=$1&code=$2

二、自己写UrlRewriter代码。

假设我们需要将http://www.591gu.com/showlfb.aspx?id=56406,静态化成http://www.591gu.com/lfb_56406/ 。首先在项目的根目录下添加一个UrlRewriter.cs的类,代码如下:

using System;
using System.Collections.Generic;
using System.Web;
using System.Text.RegularExpressions;

namespace SiteSense.Web.Components
{
public class UrlRewriter : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
try
{
string url = context.Request.RawUrl;
if (url.IndexOf(“report”) > 0)
{
Regex Reg = new Regex(@”/report_(\d+)_(\d+)/?”, RegexOptions.IgnoreCase);
Match m = Reg.Match(url);
if (m.Success)//匹配成功
{
string RealPath = @”~/ShowReport.aspx?id=” + m.Groups[1] + “&code=” + m.Groups[2];
context.Server.Execute(RealPath);
}
else
context.Response.Redirect(context.Request.Url.ToString());
}
else if (url.IndexOf(“lfb”) > 0)
{
Regex Reg = new Regex(@”/lfb_(\d+)/?”, RegexOptions.IgnoreCase);
Match m = Reg.Match(url);
if (m.Success)//匹配成功
{
string RealPath = @”~/ShowLFB.aspx?id=” + m.Groups[1];
context.Server.Execute(RealPath);
}
else
context.Response.Redirect(context.Request.Url.ToString());
}
else
context.Response.Redirect(context.Request.Url.ToString());
}
catch
{
context.Response.Redirect(context.Request.Url.ToString());
}
}

public bool IsReusable
{
get { return false; }
}
}
}

然后在web.config的<system.web>下的httpHandlers节点里面,加入以下代码:

<httpHandlers>
<add verb=”*” path=”*/lfb_?*” type=”SiteSense.Web.Components.UrlRewriter”/>
<add verb=”*” path=”*/lfb_?*/*” type=”SiteSense.Web.Components.UrlRewriter”/>
</httpHandlers>

即可实现url静态化。

分享到:
评论

相关推荐

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

    页面静态化分为两种:全静态化和部分静态化。全静态化是将整个网站的所有页面全部转换为HTML文件,服务器接收到请求后直接返回静态HTML,无需执行任何服务器端代码。这种方式能极大地提高网站的加载速度,但更新内容...

    Asp.net 静态化思路第三种实现

    首先,我们要理解传统的两种页面静态化方法: 1. **模板页+替换方式**:这种方法通常使用模板页(如ASPX页面),在运行时将动态数据插入到预定义的占位符中,然后保存为静态HTML文件。这种方式简单易行,但每次数据...

    asp.net 伪静态源码

    在这个“asp.net 伪静态源码”示例中,我们可以看到两种不同的实现方法:Java和.NET。虽然标题中只提及了.NET,但描述中提到了Java也有相应的实现。这表明该压缩包可能包含两种语言的源代码文件,分别展示了如何在...

    asp.net 动态页面静态化

    在ASP.NET中,动态页面静态化主要有两种方式:预编译(Precompilation)和运行时静态化(Runtime Output Caching)。 1. 预编译: 预编译是ASP.NET提供的一种在部署前将所有ASPX页面转换为编译好的DLL文件的过程。...

    asp.net 页面静态化、生成静态页面实例

    ASP.NET页面静态化主要通过两种方式实现:预编译静态化和运行时动态静态化。 1. 预编译静态化:在网站部署前,开发者可以使用aspnet_compiler工具对整个网站进行预编译,生成一系列的HTML文件。这种方式适用于内容...

    asp.net页面静态化模块

    ASP.NET页面静态化通常涉及两种方式:预生成和运行时生成。预生成是在应用程序启动或定期执行时,将所有或部分页面转换为静态HTML。运行时生成则是在用户请求特定页面时,首次动态生成静态版本。这两种方法都有其优...

    asp.net Url重写与动态生成静态页面

    ASP.NET URL重写和动态生成静态页面是两个关键的技术,它们在提高网站性能、优化搜索引擎排名(SEO)以及提供用户友好的URL等方面发挥着重要作用。 首先,我们来深入理解ASP.NET URL重写。URL重写是一种技术,允许...

    asp.net 静态页面生成控件

    ASP.NET静态页面生成控件是一种高效的技术,用于将动态网页转换为静态HTML文件,从而提高网站性能,增强搜索引擎优化(SEO)效果,并减轻服务器处理负载。这种控件的使用非常简便,无需复杂的配置,只需两个步骤就能...

    ASP.NET2.0静态页面生成技术

    在ASP.NET 2.0中,这一过程主要通过两种方式实现:预编译(Precompilation)和输出缓存(Output Caching)。 **预编译** 是ASP.NET 2.0的一项重要特性,允许开发者在部署前将所有ASPX页面转换为IL(Intermediate ...

    ASP.NET生成静态页面和分页

    在ASP.NET中,生成静态页面和实现分页是两个重要的概念,对于提升网站性能和用户体验有着显著的作用。 **生成静态页面**: 生成静态页面,也称为“静态化”,是指将原本动态生成的HTML页面转化为预先生成的、不依赖...

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

    ASP.NET Core 是微软推出的用于构建 Web 应用的开源框架,它支持多种平台,并提供了高效、灵活的开发体验。...在 ASP.NET Core 中,开发者可以根据需求轻松实现这两种策略,提升网站性能和用户体验。

    Asp.net生成静态文件示例源码(两种途径)

    Asp.net生成静态文件示例源码(两种途径) &lt;br&gt;Asp.net生成静态文件(根据时间自动命名保持,默认扩展名是htm可以自行修改)。 &lt;br&gt;通过收入内容替换模板或者url地址两种方式进行静态文件的生成 &lt;br&gt;...

    asp.net伪静态处理

    ASP.NET实现伪静态的方法通常有两种:IIS URL重写模块和ASP.NET路由。IIS URL重写模块是微软提供的一种用于IIS服务器的URL重写工具,它可以配置规则将特定的动态URL转换为静态形式。ASP.NET路由则是.NET Framework ...

    asp.net url重写

    ASP.NET提供两种主要的URL重写机制:IIS URL重写模块和ASP.NET MVC的Route功能。 1. IIS URL重写模块:这是微软为IIS(Internet Information Services)开发的一个扩展,可以在不修改应用程序代码的情况下实现URL...

    asp.net生成静态新闻系统

    在ASP.NET中,我们可以通过多种方式实现静态化。一种常见的方式是使用HttpHandler或HttpModule,这两个组件在处理HTTP请求时可以介入,根据需要动态生成静态页面,并将其保存在文件系统中。每当新闻被添加、更新或...

    ASP.NET生成静态页技术

    在ASP.NET中,静态页生成主要通过两种方式实现:预编译和运行时动态生成。 1. **预编译**: 在预编译过程中,开发者可以使用`aspnet_compiler.exe`工具对整个网站进行编译,这个工具会将所有的ASP.NET页面转换为...

    .NET页面静态化(有实例)

    在.NET框架中,实现页面静态化主要有两种方式:服务器端静态化和客户端静态化。 1. 服务器端静态化: 这种方法在用户请求动态页面时,服务器会自动将其转换为静态HTML并保存在文件系统中。后续的相同请求将直接...

    asp.net生成静态页面企业网站

    2. **ASP.NET MVC与Web Forms**:ASP.NET提供了两种主要的开发模式:MVC(Model-View-Controller)和Web Forms。MVC模式更适合生成静态页面,因为它允许更直接地控制HTML输出,而Web Forms则更加面向事件驱动,更...

Global site tag (gtag.js) - Google Analytics