|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
什么叫数据库怎么样?什么意思?你想单学数据库。(其实变成是我问的)成绩形貌:
由于本站刚入手下手做的时分没有思索到url对搜刮引擎友爱的成绩,就随便用了aspx?id=1如许的静态参数格局。厥后渐渐对搜索引擎优化的常识懂得了一些,晓得了包括静态参数的url地点对搜刮引擎很不友爱。没举措,利用了伪静态来埋没了url前面的静态参数(利用办法拜见:怎样经由过程RewritePath办法重写Url地点完成伪静态),如以后页面的url地点。但如许就带来了一个成绩,本来静态参数的地点已被收录了,如今又完成了伪静态,那末新的url与本来的url一定纷歧样了,对搜刮引擎来讲,是两个完整分歧的地点,那末它又会从头收录一遍,如许就形成了搜刮引擎以为你的网站中有大批的反复内容。
在网上搜刮了大批的材料,终究在google的办理员工具匡助页面中找到了成绩的办理办法,那就是把本来的地点利用301定向到新的地点,如许,搜刮引擎就晓得原地点和新地点是统一个地点了,就不会呈现上述的成绩了。
完成办法以下:
由于我的站是在IHttpModel类的BeginRequest中使用RewritePath完成了URL地点重写,以是我先在BeginRequest事务中将必要重定向的地点做了标识:
publicvoidInit(HttpApplicationcontext)
{
context.BeginRequest+=newEventHandler(context_BeginRequest);
}
voidcontext_BeginRequest(objectsender,EventArgse)
{
if(path.Contains(".aspx")||path.Contains("?"))
{
context.Items.Add("IsRedirect",true);
context.Items.Add("Location","/ac/ID"+context.Request.QueryString["ID"]);
context.RewritePath(path);
}
}
}
然后在终极必要重定向的页面中设置页面的Http形态码:
protectedvoidPage_Load(objectsender,EventArgse)
{
if(Context.Items["IsRedirect"]!=null&&Context.Items["Location"]!=null)
{
HttpContext.Current.Response.StatusCode=301;
HttpContext.Current.Response.Status="301MovedPermanently";
HttpContext.Current.Response.AddHeader("Location",Context.Items["Location"].ToString());
}
}
运转效果:
我们使用Http前往形态工具查询一个被重定向的链接地点,前往了局以下:
查询地点:www.lmwlove.com/Article/ArticleDetail.aspx?ID=288
前往形态码:301
网页前往HEAD信息以下
Cache-Control:private
Content-Type:text/html;charset=utf-8
Location:/ac/ID288
Server:Microsoft-IIS/7.0
X-AspNet-Version:2.0.50727
X-Powered-By:ASP.NET
Date:Wed,21Sep201106:36:49GMT
Content-Length:34349
上述了局申明:我的设置失效了。
如许,就不会由于我们Url地点改动而使我们的网站的权重丧失了,也不会由于这类情误况让搜刮引擎误以为我们网站有大批的反复内容了。以前学了大概半年时间的asp(没有机会做大系统,最多是自己对公司系统做些调整和修改还有一些小程序)。应该说开始接触asp.net是今年元月5号的事。现在很想把公司的系统重新用.net来架构,却不知道如何下手。 |
|