2007年11月11日,星期日

更改SharePoint网站's URL

您可能会发现自己有时需要执行的操作是更改现有SharePoint 2007的URL 现场。这是一个非常有趣的场景,可以说SharePoint和IIS之间的关系比标准.Net网站更加复杂。但是,有 several possible 解决方案。我们许多人可能想到的第一件事可能是:

  • 将Web应用程序扩展到另一个URL
  • 以某种方式使用备用访问映射

取决于您的站点,这两种方法都是有效的方法,但是与任何与SharePoint相关的方法一样,使用不同的方法时要注意不同的事情。例如,由于以下原因,扩展Web应用程序不是适用于我们的方案的正确方法:

  • 该网站实际上不应该存在于旧的URL,而是重定向 原为 需要
  • InfoPath表单似乎无法很好地处理 “扩展的Web应用程序”配置。 (问题细节 -在一个URL上一切正常,但是 如果两个Web应用程序使用 单独的网站集, 另一方面,打开表单时您可能会看到安全错误。这是因为表单模板在另一个网站集中被引用-文档库只能有一个指向文档模板的URL,而将表单发布到内容类型会将绝对链接存储在内容数据库中。)

另外,使用备用访问映射进行的一些快速测试似乎并未为我提供预期的结果,因此我决定采用另一种方法,因为我知道它可以工作并且没有太多时间进行试验。这就是我的过程:

更改网站的URL 通过重新创建站点(需要停机)

  1. 停止旧的IIS站点。
  2. 在SharePoint中创建新的Web应用程序,绑定到 new IP address in IIS.
  3. 如果适用,请应用SSL证书。
  4. Create 新 site 收藏ion for this web application using the 空白网站模板 .
  5. 使用SharePoint的内容迁移API(我有一个执行此操作的工具,不久后将在Codeplex上)导出内容,以确保导出所有安全数据。 备择方案 此步骤包括STSADM -O BACKUP和STSADM-O EXPORT。 *
  6. Import content into the 新 site 收藏ion, ensuring to include security.
  7. 修改InfoPath使用的.udcx数据连接文件中的所有绝对URL。
  8. Republish any InfoPath forms to the 新 site.
  9. 配置搜索:
    1. Ensure 新 URL is a content source.
    2. 更新所有使用绝对URL的爬网规则。
    3. 适当更新“权威页面”。
    4. 开始完全爬网。
    5. 更新范围。
    6. 转到网站设置>网站集管理>搜索范围,将任何自定义范围添加到搜索下拉列表(如果使用标准搜索Web部件)。
    7. 确保搜索Web部件使用相对URL /不引用旧站点URL。
  10. 如果需要从旧URL进行重定向,请创建新的IIS网站以实现此目的:
    1. Create 新 site in IIS 并绑定到旧的IP地址。
    2. 在“主目录”选项卡上,指定内容应来自“重定向到URL”并输入URL。
  11. 确保为新URL正确配置DNS /防火墙,并记住留出适当的时间进行DNS传播。
  12. 执行测试。

* N.B. Between 内容迁移API和STSADM 出口,我更喜欢前者 因为这样可以控制是否保留对象GUID (more information in STSADM导出,内容部署,内容迁移API,功能/解决方案-比较部署选项)。下一节将讨论STSADM备份/还原。

这种方法的注意事项

  • 使用内容迁移API或STSADM备份/还原时,不包括以下项目-警报,工作流,回收站状态或网站集属性。这些必须分别迁移/重新创建。
  • 绝对需要进行回归测试 由于该网站已被有效地重建

作为改进第一个考虑因素的一种方法,另一种选择是 STSADM备份/还原(尽管我没有尝试过这种方法)。值得注意的是这种方法 确实  collect 其他方法排除的商品数据,但是由于我们网站的性质, 这些都不是重大问题。

因此,这种方法是成功的,并且希望该信息可以使人们看到一些优缺点,而不必花费时间亲自进行学习。但是,我也注意到 Faraz Khan建议的基于备用访问映射的方法。由于仅在 本文前几天 对于我的情况来说,为时已晚,尽管我鼓励您看看。请注意,法拉兹还指出 注意事项,例如某些链接在没有修复的情况下不会更新为新的URL,尽管这似乎并不是主要问题。它确实回应了我关于存在的观点 使用不同的方法需要注意的事情不同,但是这两种方法都提供了有效的方法来更改 SharePoint网站的URL。

6条评论:

匿名 said...

根据您的MOSS版本和必要的URL更改(例如,如果您只是添加到URL的某个部分),可能足以在网站集和网站级别上进行发布,然后使用网站内容管理浏览器就足够了像Windows(站点操作)一样执行以下操作:

1. create a 新 site under the top site, like mycompanysite/HR
2.将旧的子站点移到新的子站点下,如果旧的子站点称为HRportal,那么现在它将变成mycompanysite / HR / HRportal

至少就我而言,我需要在实际子站点URL之前通过特定于语言的URL进行扩展,例如/ en /

克里斯·奥 'Brien 说过...

@乔米斯

很抱歉延迟回复,您张贴时我正在度假。

Yes, your approach will work fine for changing the URL of a child web within a site 收藏ion will work fine.

我的方法实际上是用于更改网站的“顶级” URL。

干杯,

克里斯。

匿名 said...

您好,希望这很简单,但是如何更改URL的大小写

我创建了一个网站
www.name.com/sites/SiteName

我真的希望它看起来像
www.name.com/sites/sitename

我真的不想导出并还原每个站点。

克里斯·奥 'Brien 说过...

嗨,迈克尔,

由于您不需要在此处更改网站的“顶级” URL,因此它应该很简单-如果这些网站是MOSS发布网站,则可以通过在“标题,说明和图标”页面(/ _layouts /prjsetng.aspx)。

对于不确定的网站,我不确定100%,但是可以想象有类似的事情。

HTH,

克里斯。

jw5006 说过...

I need a WSS3.0 web site http://special.domain.com/customer1 to show in the URL http://yourstuff.customer1.com

我一直在寻找我觉得是一年而不是运气的东西。愿意付出帮助。

费雷施特 said...

你好
在我们的环境中,我们有一个Pages \ default.aspx附加到自定义PageLayout。我们的问题是我们的页面在更改url时不会刷新。有人知道吗?