Sitecore中的“〜”转向“%7E”问题?

时间:2012-04-18 05:14:35

标签: sitecore sitecore6 page-editor

使用Sitecore,我正在做一些自定义媒体网址的事情 在PageEditor模式下,你们有没有见过“〜”转向“%7E”的问题?

例如,

检查IE中的页面源(或chrome,firefox),我期待的是,

<img src="~/media/twitter.gif" alt="Twitter" width="100" height="22" />

但提出来了,

<img src="%7E/media/twitter.gif" alt="Twitter" width="100" height="22" />

我检查了我的代码,我认为我做了一些不会将'〜'改为'%7E'的东西, 有没有见过这样的东西,如果有的话,请告诉我,以及我如何解决它。谢谢

3 个答案:

答案 0 :(得分:3)

%7E~的{​​{3}}。使用编码值的HTML完全没问题。

如果您尝试使用~访问用户的主目录(我怀疑您是这样),请不要这样做。了解web docroot,相对和绝对路径,然后找出你想要使用的实际路径。

答案 1 :(得分:1)

~是访问您的主目录的快捷方式(或者,如果传递给在不同用户下运行的应用程序,则是该用户的主目录。因此,通常它不是犹太教的领导者包含~的网址。

另一方面,浏览器会将URL编码的块解析为等效的,只要它不在查询字符串中即可。例如:

http://en.wikipedia.org/wiki/Sir%20Mix-a-Lot

将解决:

http://en.wikipedia.org/wiki/Sir Mix-a-Lot

(mediawiki进一步解析为:

http://en.wikipedia.org/wiki/Sir_Mix-a-Lot

但是如果您尝试访问webroot之外的文件路径,则可能会出现错误,尤其是客户端错误。如果你被抓住了,你就不会有话要说。

答案 2 :(得分:1)

如前所述,%7E~符号的网址编码。

在富文本编辑器中复制粘贴链接时,我们遇到了类似的问题。从广义上讲,似乎正在发生的事情是,在复制富文本编辑器的HTML输出时,我们已经在浏览器中工作,该浏览器正在呈现HTML源。例如,链接正由浏览器解决(因此,如果作者登录Sitecore以编辑某个特定主机域但在不同的主机域上工作,则链接将解析为他们登录的域)。

我们在执行此操作时遇到了%7E替换~问题。

你没有给我足够的细节以确定这是你的情况发生的事情,但似乎很可能。如果您是复制粘贴浏览器呈现的HTML,那么您不会访问原始字符串。

编辑:这可能与已知的Sitecore错误有关,即在复制粘贴时将富文本编辑器的路径信息添加到链接。 Sitecore在这里有一个修复:

http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%206/ReleaseNotes/KnownIssues%20Recommended/Copying%20and%20pasting%20link%20in%20rt%20fields%20may%20break%20the%20link.aspx