1

使用 Sitecore,我正在做一些事情,比如自定义媒体的 URL。
PageEditor mode的时候,你们有遇到过“~”转“%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',曾经遇到过这样的事情,如果你有,请告诉我,以及我如何解决它。谢谢

4

3 回答 3

3

%7E是 的URL编码~使用编码值的 HTML 完全没问题。

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

于 2012-04-18T05:16:18.397 回答
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 之外的文件路径,您可能会遇到错误,尤其是客户端。如果你不这样做,如果你被抓住,你很可能会得到谈话。

于 2012-04-18T05:24:34.260 回答
1

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

在富文本编辑器中复制粘贴链接时,我们遇到了类似的问题。从广义上讲,似乎正在发生的事情是,当复制富文本编辑器的 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

于 2012-04-19T10:02:49.627 回答