URL重写

带参数的URL地址进行改写,改写成不带参数的。

BookDetaile.aspx?id=2;   改成  BookDetail_2.aspx


为什么将带参数的URL的地址改成不带参数的?URL重写的目的就是SEO

SEO:SEO是由英文Search Engine Optimization缩写而来, 中文意译为“搜索引擎优化”。SEO是指通过站内优化比如网站结构调整、网站内容建设、网站代码优化等以及站外优化,比如网站站外推广、网站品牌建设等,使网站满足搜索引擎收录排名需求,在搜索引擎中提高关键词排名,从而吸引精准用户进入网站,获得免费流量,产生直接销售或品牌推广

<TR>
                      <TD rowSpan=2><A href='<%#Eval("Id","/BookDetail_{0}.aspx") %>' "><IMG 
                        style="CURSOR: hand" height="121" border="0"
                        alt='<%#Eval("Title") %>' hspace="4"
                        src='<%#Eval("ISBN","/Images/BookCovers/{0}.jpg") %>' width=95></A> </TD>
                      <TD style="FONT-SIZE: small; COLOR: red" width=650><A 
                        class="booktitle" id="link_prd_name"
                        href='<%#Eval("Id","/BookDetail_{0}.aspx") %>' target=_blank 
                        name=link_prd_name><%#Eval("Title") %>
                       </A> </TD></TR>
在请求管道第八个之前,在一个就行了,即在Global.asax文件中:
/// <summary>
        /// 请求管道中第一个事件触发以后调用的方法,完成URL重写
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Application_BeginRequest(object sender, EventArgs e)
        {
            string url = Request.AppRelativeCurrentExecutionFilePath;//~/BookDetail_5011.aspx
            Match math= Regex.Match(url,@"~/BookDetail_(\d+).aspx");
            if(math.Success)
            {
                Context.RewritePath("/BookDetail.aspx?id=" + math.Groups[1].Value);//从1开始
            }
            //如果是多个的话 及直接往后面写就行了
            //Match math = Regex.Match(url, @"~/BookDetail_(\d+).aspx");
            //if (math.Success)
            //{
            //    Context.RewritePath("/BookDetail.aspx?id=" + math.Groups[1].Value);//从1开始
            //}
        }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值