永久链接与特殊HTML字符

您好,

我正在尝试输入永久链接(这可以正常工作),但在输入带有特殊字符的 URL 时遇到问题。

例如,输入 URL

display/exacom/ADO+<+Jira+Cloud%3A+Date+time+sync

它被转换为

display/exacom/ADO+%3C%3E+Jira+Cloud%253A+Date+time+sync

因为 % 是 &25 的 HTML 对等项。

但是,当我尝试链接

https://community.exalate.com/display/exacom/ADO+<+Jira+Cloud%3A+Date+time+sync

时,找不到页面。

尝试在 URL 输入中使用 HTML 实体对等项也无效,因为原始 URL 找不到。

问题 - 输入包含此类字符的永久链接(并避免双重 HTML 编码)的正确方法是什么?

只是猜测:转义,例如 \\%3A

试过了

bla%3Abla

变成

bla%5C%253Abla
1 个赞

您可以在 Rails 中输入它们以更好地控制转义,也许吧。不知道这是否有帮助,但这是我接下来会尝试的。

我们正在使用 discourse.org 的托管选项。
我认为我们不能有这种自由。

1 个赞

这些显示链接看起来不对——似乎缺少了第一部分。

您尝试过 TinyURL 链接缩短服务吗?

您好,Lily:

谢谢。

这些是我们发布到旧社区网站上的 wiki 页面。
例如:

https://community.exalate.com/display/exacom/ADO<>+Jira+Cloud:+Date+time+sync

现在可以访问:

https://oldcommunity.exalate.com/display/exacom/ADO<>+Jira+Cloud:+Date+time+sync

当然,今天尝试访问第一个版本的用户将到达 discourse 网站并收到 404 错误。这就是为什么我们想使用永久链接功能。

问题是无法以某种方式输入 URL,使其能够被找到,从而导致重定向不起作用。

tinyurl 不可行,因为用户不会使用它。

2 个赞

有多少个,它们头部都有相同的无意义内容吗?

它们都有 xxx%3A+slug 吗?

1 个赞

我显然不明白你在做什么。我刚刚在我的网站上成功地创建了一个指向此页面的测试永久链接:

当我在我的网站上转到 /test 时,它会直接带我到那个页面。


编辑:算了,我之前没有正确理解你的原帖,我现在明白你想做什么了。你想使用那个奇怪的复杂链接作为永久链接。哎呀。是的,我不知道这是否可能,除非进行一些特殊的转义。:thinking:

说得对——感谢您抽出宝贵时间。

1 个赞

“它们都有 xxx%3A+slug 吗?”

我们现在创建了一个页面,概述了所有用例

您可以在那里看到一些链接以及这些链接是如何进行 URL 编码的。

1 个赞

嗯。在您让社区上线之前迁移那些会更容易一些。

我想,那些大部分都没问题。

您或许可以做一个永久链接规范化,移除 > 之前的所有内容,然后为之后的部分单独创建永久链接。

1 个赞

源 URL 在多个位置使用,不一定在我们控制之下。

能够输入源 URL 将解决此问题。

Lily 正在寻找解决方案……

谢谢。

Lily:

快速浏览一下,大多数网址应该都可以正常工作。

我认为其余的都有一个大于号,大于号之后的所有内容都是纯文本字符。因此,您可以让永久链接删除大于号之前的第一部分,它就会正常工作。

1 个赞

您好,Jay:

该页面上的网址在添加之前都已进行网址编码,因为编辑器也会对其进行编码——这是可以预期的。

它们不是原始网址。

如果我提供一个包含原始网址的文本文件,是否可行?

Francis