Googlebot和其他蜘蛛无法访问我的网站,因为它们获取服务器错误500并且无法抓取或其他什么,当使用谷歌抓取作为其提取和渲染时,但当它将抓取它时会收到以下错误。所有类型的蜘蛛都会得到同样的错误。是否必须在代码中加入像googlebot这样的蜘蛛? robots.txt很好,也是站点地图。
来自蜘蛛或googlebot的错误代码如下:
>'/'应用程序中的服务器错误。对象引用未设置为 对象的实例。描述:发生了未处理的异常 在执行当前Web请求期间。请查看 堆栈跟踪以获取有关错误及其位置的更多信息 起源于代码。异常详细信息:System.NullReferenceException:不是对象引用 设置为对象的实例。
来源错误:
执行期间生成了未处理的异常 当前的网络请求。有关的来源和位置的信息 可以使用下面的异常堆栈跟踪来识别异常。 堆栈跟踪:
[NullReferenceException:对象引用未设置为的实例 对象。] Utbildningsportalen.WebUI.Controllers.HomeController.Index() +28 lambda_method(Closure,ControllerBase,Object [])+86 System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext,IDictionary
2 parameters) +228 System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
2 参数)+89 System.Web.Mvc.Async.AsyncControllerActionInvoker.b__39(IAsyncResult的 asyncResult,ActionInvocation innerInvokeState)+38 System.Web.Mvc.Async.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult的 asyncResult)+74
编辑1:
HomeController metod
公共ActionResult索引()
{
if (!Request.UserLanguages[0].Contains("sv"))
{
var engStart = startHelper.allEngStartPages().FirstOrDefault();
engStart.RowNumber = 12 / engStart.PresentationObjectsPerRow;
return View(engStart);
}
var start = startHelper.allSweStartPages().FirstOrDefault();
start.RowNumber = 12 / start.PresentationObjectsPerRow;
return View(start);
}
Edit2: 然后我们尝试了这个,它仍然无法访问该网站:
公共ActionResult索引()
{
StartpageViewModel start;
if (Request.UserLanguages != null)
{
if (!Request.UserLanguages[0].Contains("sv"))
start = startHelper.allEngStartPages().FirstOrDefault();
else
start = startHelper.allSweStartPages().FirstOrDefault();
}
else
start = startHelper.StartPagesByLang("sv");
start.RowNumber = 12 / start.PresentationObjectsPerRow;
return View(start);
}
答案 0 :(得分:1)
考虑到您在Index方法中发生异常,我希望UserLanguages属性为空,甚至是Null。
检查它是否为空并且在检查它是否为瑞典语之前具有索引0。您可以使用那些漂亮的空条件索引器运算符。
如果这实际上是问题;它有趣的机器人不发送接受语言标题。