【问题标题】:How to create SharePoint 2007 Web Application on a Virtual Path to solve an url rewrite rule?如何在虚拟路径上创建 SharePoint 2007 Web 应用程序以解决 url 重写规则?
【发布时间】:2012-07-27 02:40:31
【问题描述】:

无论如何,我可以在根目录上安装 SharePoint Web 应用程序,我需要在虚拟路径上安装它吗?我有一种情况,我的客户正在以某种方式使用使用 ISA 服务器的 url 重写工具,如下所示: 他有一个主要网址,可以说http://publicsite/ 我们在一个名为 http://internal/sites/sitecollection 的网站上实现了内部共享点 当我们打开http://publicsite/sites/sitecollection 时,它将打开http://internal/sites/sitecollection http://publicsite/ 与http://internal 在不同的服务器上。 现在我对共享点站点的渲染 html 标记中的嵌入资源有疑问,例如

<script src="/ScriptResource.axd?d=MZkmbKEwKTBSRdxFCFncmF72UDKBF9tO54OpDYX6Df4DBmB7HSDbA8CAqY5mCBAK2TAU34oVF24xOS5EJEafjb6Zcvwnmou5zv3RqxNzcSKM1XXzvQP1JpAzOAaH9PUPRTPUjZfdMBnoJPmBfgNZ-BFEntGwjcL7UiqfpH8R9TE1&amp;t=ffffffffed1cce36" type="text/javascript"></script>

实际上,它从根目录打开,根据客户重写规则,根目录是另一台服务器,因此状态为 404 的资源响应 和 AFAIN 因为 sharepoint web 应用程序位于根目录,所以我无法更改它呈现 url 的方式。

有没有办法解决这个问题? 我开始考虑一些javascript函数来更改所有以/ScriptResource.axd开头的脚本的url并将其更改为/sites/sitecollection/ScriptResource.axd但它无法重新加载javascript我不知道为什么! 第二种解决方案是在虚拟路径上创建 Web 应用程序,我不知道这是否可能,所以有人可以帮助我吗?

提前致谢。 问候

【问题讨论】:

标签: javascript sharepoint web-applications url-rewriting wss


【解决方案1】:

我的第一个建议是为共享点创建一个不同的公共 URL。如果你这样做,你会为自己节省很多伤害。

但是如果你真的需要继续前进,你可以尝试实现一个 HttpModule 来替换错误的引用。而且您将不得不对此进行一些测试,因为您所做的不仅仅是查看某些内容。 (协作、办公室同步等)

https://sharepoint.stackexchange.com/questions/5956/rich-text-editor-error-messages/8364#8364

【讨论】:

  • 由于客户承认他们没有遵循 Microsoft 最佳实践作为一对一映射,因此我将其标记为答案。
【解决方案2】:

您可能需要更改页面上的路径。更改 ISA 服务器的配置仍然会给您留下与 SharePoint 站点不同的服务器上的问题。

如果 JavaScript 方法不起作用,您可以尝试使用建议的“自适应控制行为”作为此 Question 的答案,在您重写所有 Script 标签的地方,您还需要重写 Style 和 Image 标签因为有些人会提到 /_layouts

虽然是一种笨拙的方法,但控制适配器可以很好地与 SharePoint 配合使用。

【讨论】:

    【解决方案3】:

    我认为您可以将内部服务器上的 Web 应用程序扩展到附加 URL http://publicsite/。现在您将依赖智能 IP 路由,因此如果 URL 是 http://publicsite/sites/sitecollection,它会转到您的 Intranet 服务器,否则它会转到公共服务器。听起来好像您的 ISA 服务器已经这样做了。我认为这将使所有相关链接都正确。

    【讨论】:

    • 问题可能来自客户 isa 服务器,因为它的工作原理如下:如果公共 url 是:public 呈现 internal 如果公共 url 我们:public/blah 呈现 internal/blah 和两个内部网址位于不同的服务器上。但是sharepoint,如果您打开任何具有任何站点和站点集合深度的Web应用程序,它总是会在根目录/ScriptResource上呈现脚本,并且当浏览器呈现带有/scriptresource的公共页面时,它会从适用于第一条规则,它不是我们的共享点站点!
    猜你喜欢
    • 2021-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-28
    • 2021-08-15
    • 2014-10-10
    • 2010-12-18
    • 2018-12-14
    相关资源
    最近更新 更多