Image Sitecore-更新后图像URL中的前导斜杠
我们有一个从6.3更新的Sitecore 6.6 在6.3中,当从富格文本编辑器中的媒体库链接图像时,src生成的链接如下所示:Image Sitecore-更新后图像URL中的前导斜杠,image,sitecore,slash,Image,Sitecore,Slash,我们有一个从6.3更新的Sitecore 6.6 在6.3中,当从富格文本编辑器中的媒体库链接图像时,src生成的链接如下所示: src="/~/media/499880737CD24BF7A640E0DB2652C909.ashx?w=646&h=830&as=1" 效果很好 现在,在更新到6.6之后,src中添加了一个前导斜杠: src="//~/media/499880737CD24BF7A640E0DB2652C909.ashx?w=646&h=830&
src="/~/media/499880737CD24BF7A640E0DB2652C909.ashx?w=646&h=830&as=1"
效果很好
现在,在更新到6.6之后,src中添加了一个前导斜杠:
src="//~/media/499880737CD24BF7A640E0DB2652C909.ashx?w=646&h=830&as=1"
该图像在后端的富文本编辑器中可见,但在网站上不可见
那么这个前导斜杠是从哪里来的呢?我在谷歌上搜索并尝试了许多可能的解决方案,但到目前为止没有任何效果。我也检查了这个线程(),但是我的“Media.MediaLinkPrefix”已经是空的
编辑:
我刚刚检查了我们的6.3备份,映像src实际上如下所示:
src="/~/media/499880737CD24BF7A640E0DB2652C909.ashx?w=646&h=830&as=1"
src=“//hostname/~/media/499880737CD24BF7A640E0DB2652C909.ashx?w=646&
h=830&as=1”
丢失的主机名可能是问题所在吗?如果我手动添加它并将其放入浏览器,它会工作。要解决此问题,请检查src生成和处理中涉及的以下设置:
<customHandlers>
...
<handler trigger="~/media/" handler="sitecore_media.ashx" />
...
</customHandlers>
...
...
如果它以斜杠开头-将其删除。还要检查为媒体链接指定前缀的设置:
<setting name="Media.MediaLinkPrefix" value="" />
最后,可以启用任何URL重写功能(或反向代理)来动态重写URL,但这是不太可能的。我认为这可能是由于Sitecore 6.4+中媒体项URL呈现方式的改变 根据Sitecore John的说法,在6.4及以上版本中,媒体url前面加了一个斜杠,以解决SEO和IIS的一些问题。如果您已经有这样的代码:
mediaPath=Sitecore.StringUtil.EnsurePrefix('/',MediaManager.GetMediaUrl(mediaItem))
您现在将有两个斜杠,而不是一个
更多信息请点击此处:
我不知道你的安装有多新,或者你打算升级的时候,但我会考虑的。6.6已经很老了。考虑重载Link管理器和/或反编译SITECCOR.KENEL.DLL以查看它可能发生的位置。我知道后者不是一个小任务,但可能值得一看。您的web.config中与“媒体”相关的设置有什么奇怪的地方吗?Media.MediaLinkPrefix?您是否已检查您没有在其他位置设置Media.MediaLinkPrefix的修补程序包含文件(通过/sitecore/admin/showconfig.aspx检查)?您给出的示例来自RTE原始值,对吗?您的配置中似乎有此设置,或者使用了类似的自定义实现。我检查了/sitecore/admin/showconfig.aspx页面,Media.MediaLinkPrefix设置为“”,这应该可以,对吧?这些都是正确的设置,所以有点奇怪。更确切地说,确保showconfig中没有出现两次
Media.MediaLinkPrefix
(这就是补丁的工作方式)。否则,我可能会向Sitecore提出支持问题,因为他们可以获得更多访问您的环境的权限以帮助调试。这是否解释了RTE中出现这种情况的原因?正如@jammykam所暗示的,可能已经有代码在媒体URL转换器中添加斜杠,以处理6.4之前的问题(6.4+中未出现的问题),这需要删除。这可能是rte有额外斜杠的原因。检查了两个设置。两者都很好。