Url地址重写是将带参数的地址改写为不带参数的地址,而不带参数的地址优先级比较高。这就像百度浏览器中获取一些数据信息时,利用爬虫发送的请求进行数据获取,向页面请求数据时就要利用页面地址,而当检测到带参数的数据时,页面的地址不同,数据不固定。而不带参数的数据页面固定,它的页面就会被爬虫请求优先访问。
重写前的页面访问地址:
<div class="type">
//以此地址为例
href="<%#Eval("/ListDetail.aspx?id={0}")%">
</div>
重写后的页面访问地址:
<div class="type">
href="<%#Eval("/ListDetail_{0}.aspx")%">
</div>
//2.生成一个Global全局应用程序文件,利用正则表达式判断当前请求的地址格式。还要将地址再次转换为带参数的形式,但此时在页面访问时读取到的地址已经是不带参数的地址了。
命名空间;
//对正则表达式引擎的访问;
using System.Text.RegularExpressions;
/// <summary>
/// url重写
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void Application_BeginRequest(object sender, EventArgs e)
{
string url = Request.AppRelativeCurrentExecutionFilePath;
//正则表达式:
Match match=Regex.Match(url, @"~/ListDetail_{\d+}.aspx");
if (match.Success)
{
Context.RewritePath("/ListDetail.aspx?id=" + match.Groups[1].Value);
}
}
SEO:
进行URL地址重写的目的就是SEO.
SEO被称为搜索引擎优化,而利用好SEO可以提高网站的排名,扩大传播。进行URL地址重写可以提高被爬虫数据获取的优先机会,那么被SEO到的机会变大,排名自然就靠前。