简单的问题 - 实现需要通过两个域名(主机名,即 abc123.com 和 www.abc123.com)访问的 SharePoint Web 应用程序的最佳做法是什么?
根据我的经验,选择如下:-
- 创建一个以 abc123.com 为主机名的 SP Web 应用,并将此 SP Web 应用扩展到不同的区域。将 www.abc123.com 分配给扩展的 Web 应用。
- 创建一个 SP Web 应用程序,以 abc123.com 为主机名。通过 IIS Admin 将 www.abc123.com 作为附加主机名添加到 Web 应用程序。
- 创建一个 SP Web 应用程序,以 abc123.com 为主机名。通过 IIS Admin 创建一个新网站,并将 www.abc123.com 与新网站关联。将 IIS 网站设置为永久重定向到以下 URL -http://abc123.com维$Q
请让我知道您对此的看法,以及您是否知道其他选择,无论它们是更好还是更坏。
提前致谢罗素
答案1
拉斯,
一般来说,正确的做法是使用选项 1:扩展 Web 应用程序。这样做有几个主要原因:
使用选项 #1 的最重要原因可能已在 Moo 的贴子(上文)中提到:IIS 中维护的设置(例如,主机标头)也在 SharePoint 中跟踪。除非没有其他方法从 SharePoint 处理特定的 IIS 设置(绑定 SSL 证书就是一个很好的例子),否则强烈建议所有 IIS 更改都通过 SharePoint 中的操作和配置进行管理。在 IIS 中进行更改而不更新 SharePoint 的支持配置通常会导致极其奇怪的行为。SPAdmin 服务(Windows SharePoint Services 配置服务)的工作之一是将您在 SharePoint 中所做的更改应用于 IIS 和整个服务器场(如果是多服务器);最好让此服务完成其工作。
扩展 Web 应用程序时,会将新 URL 与特定区域(Internet、Extranet、Intranet 或自定义)关联。在场内构建指向其他 SharePoint 站点的链接时,SharePoint 将尝试使用与您当前区域一致的站点 URL。例如,如果您要将 Web 应用程序 A 扩展到 Extranet 区域,并且 Web 应用程序 A 包含指向 Web 应用程序 B 的链接,则 SharePoint 将尝试使用 Web 应用程序 B 的 Extranet 区域链接(如果可用)——而不是默认区域链接。如果 Web 应用程序 B 未扩展到 Extranet 区域,则有一个回退过程(一直到默认区域)用于分配链接……但重要的是要知道这是在幕后进行的。
另一种方法是通过平台内置的备用访问映射 (AAM) 功能将额外的主机名与您已有的默认区域 URL 关联。不过,在执行此操作之前,需要牢记一个非常重要的注意事项:每个区域(再次说明:默认、内部网、外部网、互联网或自定义)只能有一个与之关联的公共 URL。在您的示例中,abc123.com是默认区域公共 URL。您可以使用 AAM 来映射www.abc123.com作为默认区域的附加入口点...但当您这样做时,页面上的所有链接将返回到abc123.com。因此,第一个页面请求可以通过www.abc123.com,但点击页面上任何回发到网站的链接都会将请求发送到abc123.com。从本质上讲,这使得 AAM 仅对第一次调用有用(除非您使用类似 ISA Server 的 SharePoint 发布功能 - 但那是另一回事,并且与主题无关)。
我甚至怀疑选项 #2 是否可行。如果 SharePoint 不知道与站点关联的主机名(即,它仅在 IIS 中分配),它就无法知道应该从何处提取该站点的内容。SharePoint 的运行方式与传统的文件支持网站不同;URL 由 SharePoint 的虚拟重定向器解析,以从支持该站点的适当内容数据库中提取内容。如果 IIS 有主机名,但 SharePoint 对此一无所知,我预计不会检索任何内容,并会导致错误情况。
我还没有测试过,但我认为选项 3 可以用于首次进入网站。此后,所有页面请求和链接都将转到重定向目标。
我希望这能有所帮助!
答案2
我会使用选项 3,因为这可确保存储在 SharePoint 中的任何元数据或链接都针对单个主机名 - 因此,如果您稍后出于某种原因决定删除辅助主机名,则不会出现死链接问题。
答案3
如果您需要第二个主机名的唯一作用是直接访问此 SharePoint 站点,那么我个人会使用选项 2,它快捷方便,并且会将该 URL 直接发送到该站点,但这是 IIS 更改,因此 SharePoint 对此一无所知。如果您需要 SharePoint 知道此 URL,那么您可能需要使用其他两个选项之一。