我有 my-site.ru/page1.apsx ,这将是 my-site.ru/page2.aspx 的一部分,所以我需要重写(或重定向?)page1.aspx到page2.aspx
我将此添加到我的web.config:
<system.web>
<urlMappings enabled="true">
<add url="~/page1.aspx" mappedUrl="~/page2.aspx"/>
</urlMappings>
</system.web>
我唯一不太热衷于解决的问题是:为什么地址栏中的文字是my-site.ru/page1.aspx但我看到my-site.ru/page2.aspx ??我希望在地址栏中重定向(重写)文本时也会发生变化。
问题2:它如何反映page1.aspx的SEO?如果可能,请提供链接。我是SEO初学者。
PS:我不是母语为英语的人,所以必定会有一些错误。
答案 0 :(得分:1)
如果您不需要page1.aspx上反映的内容,或者如果您要将内容移至page2.aspx,我建议您执行301 redirect,这是一个永久重定向这会影响你的seo将所有搜索引擎优化信息传递给你正在进行重定向的页面,在这种情况下是page2.aspx。
从seo的角度来看,你可以做的其他事情是: - 从xml sitemap删除page1(如果有的话) - 从robots.txt
中排除该页面要执行重定向,您可以在IIS 7(或更高版本)中执行此操作,您可以在web.config中包含一个元素,如:
<httpRedirect enabled="true" exactDestination="true" httpResponseStatus="Permanent">
<add wildcard="/page1.aspx" destination="/page2.aspx" />
</httpRedirect>
或者您可以编写重定向代码并检查每个请求中的网址,如:
public class RedirectHttpModule : IHttpModule
{
public void Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(this.context_BeginRequest);
}
private void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication application = (HttpApplication)sender;
HttpContext context = application.Context;
//check here context.Request for using request object
if(context.Request.FilePath.Contains("page1.aspx"))
{
context.Response.RedirectPermanent("/page2.aspx");
}
}
}
如果您使用的是.NET 4.0或更高版本,请查看permament redirection
请注意,如果您执行常规的response.redirect,则会进行302重定向,这会影响您的搜索引擎优化。
答案 1 :(得分:0)
页面加载 写这个 server.transfer(“Page2.aspx”)