今天我陷入了奇怪的状态。我正在通过IIS重写模块重定向Sitecore项。当我从“发布”选项卡预览预览项时,它将正确地重定向。但是,当我从“演示”选项卡预览命令预览项目时,它不会重定向,即显示项目演示文稿。
因此,对于同一项,有两种不同的预览行为,我想到这两个预览选项之间的差异。
请不要告诉我,在新浏览器选项卡中打开了一个预览模式,而第二个不是:),我询问的是关于特性的差异。
发布于 2013-12-11 12:59:42
据我所知,没有多少不同之处。但其中之一是:演示选项卡预览在您的“网站”站点定义的上下文中运行;“发布”选项卡预览会生成一个新窗口,该窗口使用用于“点击”您的Sitecore的任何域名。或者使用不同的方式;当使用发布选项卡时,主机名将映射到正确的站点定义(config) --“内联”预览选项卡不会使用此选项。
这是最有可能的原因,你看到了不同的行为。
以下是演示文稿标签的URL:http://edit.edit.dev/home-node-name/edit-edit?**sc_site=website**&sc_lang=en&sc_mode=preview&sc_duration=temporary&sc_device=%7bFE5D7FDF-89C0-4D99-9AA3-B5FBD009C9F3%7d
以及发布标签中相同的URL:http://edit.edit.dev/?sc_itemid=%7bB307A010-FF0B-4D0C-892F-EFF7C9A01AD4%7d&sc_mode=preview&sc_lang=en
不确定它何时进入配置文件,但这似乎都是由这个管道控制的(在web.config中):
<getPagePreviewUrl>
<processor type="Sitecore.Pipelines.GetPagePreviewUrl.GetDefaultUrlOptions, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetPagePreviewUrl.SetLanguage, Sitecore.Kernel"/>
<processor type="Sitecore.Pipelines.GetPagePreviewUrl.GetUrl, Sitecore.Kernel"/>
</getPagePreviewUrl>发布于 2013-12-11 17:40:41
正如Mark所说,它们可能有不同的URL和查询字符串参数。我建议你比较它们,看看你的重写规则是否符合两者。
而且,我有一个在获取上下文站点时,博客上也有关于这个问题的文章。。虽然它并不是100%相关的,但它确实有代码显示您可以在一种模式下与另一种模式下期望哪些参数。
https://stackoverflow.com/questions/20518421
复制相似问题