关于SC7.5的快速问题 - 我们有一个庞大的遗留系统,可以引导用户访问sitecore内容。我们知道GUID,并希望通过网址www.mysite.com/?sc_item={guid}无缝重定向用户
我们还希望能够检查内容是否仍然存在,如果没有产生错误404,这将允许我们(和其他人)通过404报告清理我们的链接。
根本没有解决方案吗?
答案 0 :(得分:1)
您可能考虑的一种方法是使用反向代理。您可以在IIS上安装“应用程序请求路由”模块。这将允许您检查并重写对ARR站点的传入请求,并将它们转发到一个或多个后端服务器。您还可以重写这些后端服务器的响应(调整页面上的相对链接,修复标题中的响应位置等)。
我已经为拥有大型遗留网站的客户端实施了这样的解决方案,并逐步将内容转换为Sitecore。反向代理允许我从最终用户屏蔽它。网址始终保持不变。
真正让这项技术变得强大的是你可以为ARR编写自己的重写提供程序。这意味着在ARR的运行期间,您可以执行任意代码,而不是仅仅依靠规则来实现所需的效果。我的重写提供程序实际上与Sitecore通信,以确定如何处理传入的请求,然后相应地路由它。
我写了一篇博文,更明确地介绍了这个想法:http://sitecoreblog.patrickperrone.com/2015/05/create-reverse-proxy-controlled-by.html
答案 1 :(得分:1)
您可以替换或添加其他ItemResolver。如果您需要有关如何实现它的帮助,请在web.config和反射器中查找Sitecore.Pipelines.HttpRequest.ItemResolver。
你基本上会从查询字符串中获取Guid,按ID获取项目并返回项目(如果找到)。否则,记录url并返回null