Googlebot和其他蜘蛛无法访问iis8中的Asp.net网站(仅限浏览器工作)

时间:2018-02-09 11:04:10

标签: asp.net iis web-crawler googlebot google-crawlers

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);

}

1 个答案:

答案 0 :(得分:1)

考虑到您在Index方法中发生异常,我希望UserLanguages属性为空,甚至是Null。

检查它是否为空并且在检查它是否为瑞典语之前具有索引0。您可以使用那些漂亮的空条件索引器运算符。

如果这实际上是问题;它有趣的机器人不发送接受语言标题。