由于302重定向到错误页面,搜索引擎无法为asp.net网站编制索引
我有最难的时间来确定我们的Asp.net网站的原因没有得到搜索引擎索引 - 整个网站。 当我使用谷歌的“Fetch As Googlebot”工具时,它会抛出以下错误。 我确保我的网站能够在禁用会话的情况下工作(即,在web.config中设置sessionMode =“Off”),我在网上搜索了所有内容,但仍然没有运气。
这是我从googlebot获得的错误:
HTTP/1.1 302 Found
Date: Thu, 02 Dec 2010 23:05:49 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
Location: /ErrorPage.aspx?aspxerrorpath=/Default.aspx
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 168
<html><head><title>Object moved</title></head><body>
<h2>Object moved to <a href="%2fErrorPage.aspx%3faspxerrorpath%3d%2fDefault.aspx">here</a>.</h2>
</body></html>
我自己找到了答案。
请确保在使用前检查Request.UserLanguages!= null。 另外,确保CurrentCulture设置为有效的默认值。 这两个检查的原因是机器人不使用Request.UserLanguages - 它总是空。 浏览器确实使用Request.UserLanguages。 换句话说: 如果Request.UserLanguages为null,则不要设置CurrentCulture。
这是问题:
我站点中的所有aspx页面都从继承自System.Web.UI.Page的自定义基类继承。 直到您使用仅引发机器人例外的代码覆盖OnLoad()或init事件时,这不是问题。 我的OnLoad()事件中有这行代码:
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);
从浏览器访问aspx页面时,此代码效果很好。 咄! 谁不打算使用浏览器......? 回答:googlebot和所有其他机器人。
如何检查Googlebot是否存在将您的网站编入索引的问题:
上一篇: Search engines not able to index asp.net site due to 302 redirects to Error page