zoukankan      html  css  js  c++  java
  • 不要在SharePoint中开启urlMappings, 会阻碍搜索功能中的爬网

    什么是urlMappings?

    =================

    根据MSDN的定义, urlMappings定义了一种URL之间的映射关系, 通过这种映射可以把一个真实的URL映射为一个看起来更加用户友好的URL.

    可以在web.config中添加如下的段落来开启这个功能.

    举例:

    <urlMappings enabled="true">
      <clear />
      <add url="~/Home.aspx" mappedUrl="~/Default.aspx?tab=home" />
      <remove url="~/Home2.aspx" />
    </urlMappings>

    在SharePoint站点中开启这个有什么影响?

    ==================

    开启了这个功能之后, SharePoint的爬网会出错. 如果被映射的是首页, 那么会导致整个web application爬网瘫痪.

    笔者在web.config中添加了下面的一段. 其中/pages/testpages.aspx甚至都不是站点的首页, 都能引起下面述及的问题.

    image

    从crawl log中看, 好像东西都还在, 其实从上次被crawl的时间可以看出来, web application中的内容, 并没有被重新爬过. 开启了urlMapping的站点, 在SSP中Reset了Index后, 爬网的截图如下:

    image

    查看爬网日志, 可以发现错误信息如下:

    "Error in the Site Data Web Service."

    image

    修复:

    去掉urlMapping后, 爬网结果如下:

    image

    image

    为什么会这样?

    =============

    虽然SharePoint是基于ASP.NET的产品, 但是在搜索, 爬网一块的特性上, SharePoint的处理是有自己的规则的.

    urlMappings实际上修改了SharePoint默认的redirect的行为, 映射的URL需要被SharePoint拿来再进行下一步的爬网动作.

    所以, 自己写HttpModule也好, urlMappings也好, 尽量不要修改SharePoint的redirect规则. 如果修改了, 请尽可能贴近SharePoint默认的一些规则:

    然后请测试一下爬网是否还能正常工作.

    否则, 一旦爬网出现问题, 如果是由于这样的修改引起的, 排查起来就比较困难了.

    urlMappings Element (ASP.NET Settings Schema)

    http://msdn.microsoft.com/en-us/library/ms228302.aspx

  • 相关阅读:
    常见错误--06.18
    类目-延展-协议
    iOS页面传值-wang
    ios常见的页面传值方式
    delegate和protocol
    沙盒路径及文件 操作
    tableView优化性能
    IOS面试题
    浅谈Runloop
    面试题
  • 原文地址:https://www.cnblogs.com/awpatp/p/1847024.html
Copyright © 2011-2022 走看看