首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当IIS中存在多个共享同一站点的域时,如何执行301而不是302重定向?

问当IIS中存在多个共享同一站点的域时,如何执行301而不是302重定向?
EN

Webmasters Stack Exchange用户
提问于 2021-01-24 21:39:14
回答 2查看 128关注 0票数 1

我有几个域共享同一个站点,并使用default.asp作为默认文件,测试SERVER_NAME变量并使用Response.Redirect重定向到请求的站点的主页。

问题是这种类型的重定向会导致302状态代码。即使在我的web.config中有一个重写部分(其中我用redirectType="Permanent"为每个站点创建了一个重定向规则),也会返回状态代码302。

这对谷歌索引中的页面排名是不利的。有人知道如何解决这个问题并返回301状态代码吗?

EN

回答 2

Webmasters Stack Exchange用户

回答已采纳

发布于 2021-01-25 03:27:22

我假设您使用的是经典的ASP (而不是.NET),因为您指的是default.asp而不是default.aspx。

不要使用response.redirect并指望您的web配置文件从302更改为301,而是尝试在重定向用户之前将301添加到响应对象中。

代码语言:javascript
复制
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "new_page_name.asp"
%> 

如果您实际使用的是.NET,请使用以下内容:

代码语言:javascript
复制
<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://example.com");
}
</script>

有关详细信息,请参阅https://docs.microsoft.com/en-us/previous-versions/iis/6.0-sdk/ms525844(v=vs.90)。

票数 2
EN

Webmasters Stack Exchange用户

发布于 2021-01-25 20:00:43

我用Response.RedirectPermanent解决了Asp.NET的问题,这个方法返回一个301状态代码。

票数 0
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/132977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档