作者:http://www.donews.net/lealting/archive/2004/03/31/9759.aspx

今天看了一篇文章,主要是讲,如何制作让搜索引擎可以友好访问的链接,大概的内容是这样的:很多的时候我们在进行查询的时候,总是会以这样的链接方式传递参数:

http://www.yoursite.com/query.aspx?typeid=2

这个链接大家看得很明白,就是我希望查看typeid=2的相关记录的信息。

但是这有个问题就是,搜索引擎的spider进行URL解析困难,因为它不太会理解这种带有参数的方式。

如果希望,每个typeid所对应的数据库查询的结果都能够被搜索引擎轻易的进行收录,我们或许需要写成这样的连接方式。

http://www.yoursite.com/pagetype1.aspx

http://www.yoursite.com/pagetype2.aspx

依次类推。

按照通常的想法,这就需要写n个这样的页面了,相当的繁琐。

不过在ASP.NET中,可以利用Application的BeginRequest的事件进行URL的转换[将静态的页面url的形式转换为带参数的动态页面url],就可以轻易的解决这样的问题了。请看如下的代码:

protected void Application_BeginRequest(object sender, EventArgs e)
{
       HttpContext incoming = HttpContext.Current;
       string oldpath = incoming.Request.Path.ToLower();
       string pageid; // page id requested
 
       //利用正则表达式对url进行解析
       Regex regex = new Regex(@"page(/d+).aspx",  RegexOptions.IgnoreCase |
                RegexOptions.IgnorePatternWhitespace);
       MatchCollection matches = regex.Matches(oldpath);
 
       if(matches.Count > 0) 
       {
                //如果满足条件,则进行改写,生成相应的带参数的url方式。
                pageid = matches[0].Groups[1].ToString();           
                incoming.RewritePath("Process.aspx?pageid=" + pageid);
       }
       
}

接下来就是需要做一个对应的动态页面了。

<%
       string pageid = Request.QueryString["pageid"];
       // Create the page content based on this pageid taken here
%>

可以来访问一下我做的测试页面。请自己修改page后面的数字。

http://lealting.europe.webmatrixhosting.net/page11.aspx

http://lealting.europe.webmatrixhosting.net/page22.aspx

我想我们使用的blog是不是也使用了这样的机制呢?

原文请访问这里。

ASP.NET 制作让搜索引擎可以友好访问的链接相关推荐

  1. 调整ViewState的位置,让你的asp.net页面对搜索引擎更友好

    在asp.net页面中经常会出现一些ViewState的html标记,也许某些时候你会禁用ViewState,但是某些情况下你不得不使用它--因为它的便捷性,但是由于在默认情况下,ViewState的 ...

  2. C#毕业设计——基于C#+asp.net+sqlserver的搜索引擎设计与实现(毕业论文+程序源码)——搜索引擎

    基于C#+asp.net+sqlserver的搜索引擎设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的搜索引擎设计与实现,文章末尾附有本毕业设计的 ...

  3. 在ASP.NET AJAX 1.0框架中访问Web服务

    一. 简介     如今,微软最新推出的AJAX框架为ASP.NET AJAX 1.0(下载地址为[url]http://ajax.asp.net/downloads/default.aspx[/ur ...

  4. ASP.NET Core 入门教程 8、ASP.NET Core + Entity Framework Core 数据访问入门

    ASP.NET Core 入门教程 8.ASP.NET Core + Entity Framework Core 数据访问入门 原文:ASP.NET Core 入门教程 8.ASP.NET Core ...

  5. jq分页 不刷新页面_滑动无限加载和分页哪个对搜索引擎更友好呢?

    滑动无限加载和分页哪个对搜索引擎更友好呢? 最近,做搜索引擎优化的工作,发现谷歌只搜索了第一次加载更多前的页面,做这个功能前就有这个担心,结果还是发生了,加载更多后的页面搜索不到. 对搜索引擎优化工作 ...

  6. asp.net中, 如何在后台获取访问这个页面的用户的名字?

    asp.net中, 如何在后台获取访问这个页面的用户的名字? 在集成安全认证下, 可以利用以下代码获取: System.Security.Principal.WindowsIdentity wi =  ...

  7. 数据可视化——彩色通用设计之色彩搭配(制作对色盲人群友好的图形和演示)

    数据可视化--彩色通用设计之色彩搭配(制作对色盲人群友好的图形和演示) 概述:本文翻译Masataka Okabe的Color Universal Design (CUD------How to ma ...

  8. 如何创建对搜索引擎更加友好的内容

    在互联网上让你的声音被广泛的听见并不容易.这可能就想你在一个拥挤的大街上即兴演讲,挥舞着双手来引起路人的注意.在你选择的主题中你可能是一位专家,有着过人的智慧,但是你要怎么让人们停下足够长的时间来听你 ...

  9. HTML amp ASP网页制作教程,深入浅出HTML+%26amp%253+ASP网页制作_11497615_松桥..pdf-得力文库...

    深入浅出HTML+%26amp%253+ASP网页制作_11497615_松桥....pdf General Ination 书名深入浅出HTML ASP网页制作 作者松桥工作室编著 页数456 出版 ...

最新文章

  1. 【TensorFlow2.0】(1) tensor数据类型,类型转换
  2. 蓝桥杯 入门训练 试题集汇总 【A+B问题、序列求和、圆的面积、Fibonacci数列】
  3. linux popd 命令,在Linux系统中的Pushd命令与Popd命令,教你这两个命令的基本用法...
  4. python内建函数是什么意思_Python 自省相关的内建函数和属性
  5. skype自动回复_如何在Windows 10上阻止Skype自动启动
  6. 领域应用 | HiTA知识图谱 “药品-适应证”图谱数据发布!
  7. 面试题05. 替换空格
  8. 字符串处理 —— 回文串相关
  9. 第7章--基本统计分析
  10. matlab 离散积分器设置,MATLABSIULINK积分器相关操作.docx
  11. 人脸照片不规范、如何更改?pupiIDistanceTooSmall 错误
  12. 6-2 某半导体存储器容量为16Kx8位,可选RAM芯片容量为4Kx4/片。地址总线A15~A0(低),双向数据线D7~D0(低),由R/W线控制读/写。请设计并画出该存储器的逻辑图,注明地址分配..
  13. android一键刷机工具,刷机也能如此轻松 Android一键刷机工具
  14. 苹果x屏幕黑有包白苹果_苹果捆绑包的关键
  15. java 中有几种方法可以实现一个线程?用什么关键字修饰同步方法 ? stop() 和 suspend() 方 法为何不推荐使用?
  16. 嵌入式分享合集128
  17. 山西民生养老认证显示服务器异常,民生山西养老认证
  18. xshell 链接linux桌面,Xshell远程桌面连接Linux系统的操作步骤
  19. 西南大学计算机与信息科学学院奖学金,西南大学“玉辉奖学金”成立暨颁奖仪式顺利举办...
  20. 动作捕捉系统用于微创手术

热门文章

  1. keras 的 example 文件 cifar10_cnn.py 解析
  2. jvm 堆外内存_NIO效率高的原理之零拷贝与直接内存映射
  3. ADPRL - 近似动态规划和强化学习 - Note 8 - 近似策略迭代 (Approximate Policy Iteration)
  4. 【从零开始的ROS四轴机械臂控制】(七)- ROS与arduino连接
  5. 禁止缩放safari浏览器--阻止双击放大--阻止双指掐捏放大-
  6. CentOS6.8 Redis5 开机自动启动命令设置
  7. tree类型题目需要用到的头文件tree.h
  8. 设计模式 之美 -- 代理模式
  9. C++的多个有序链表合并
  10. linux进程间通信:FIFO实现进程间的双向通信