【问题标题】:Using commas in URL's can break the URL sometimes?在 URL 中使用逗号有时会破坏 URL?
【发布时间】:2013-01-17 19:10:54
【问题描述】:

有人知道在 SEO 友好的 URL 中使用逗号有什么问题吗?我正在使用一些在其 SEO 友好 URL 中使用大量逗号的软件;但我 100% 确定我已经看到一些程序/平台无法正确识别 URL 并在第一个逗号后切断 URL 的“链接”的情况。

我刚刚在 SMF 论坛上使用 Thunderbird、gmail、hotmail 和没有问题的方式进行了测试;但是我知道我以前见过这个问题。

所以我的问题是,有什么特别的东西会导致某些平台停止使用逗号链接 URL?比如逗号后面的某个字符?

【问题讨论】:

    标签: url url-rewriting hyperlink seo


    【解决方案1】:

    届时会有无数个实现会切断自动链接。与许多其他角色一样。但这并不是因为使用了这些字符,而是因为实现错误/不完整。

    例如查看这个站点,Stack Overflow。当手动输入/粘贴此 URL(see bug;如果它得到修复,这里是 screenshot of it)时,它将切断 * 处的链接:

    但是当使用超链接语法时,它可以正常工作:

    * 字符在 HTTP URL 路径中是允许的,因此链接检测应该识别第一个 URL,而不是在出现 * 时破坏它。


    关于逗号:

    逗号是reserved character,其含义与URL path 相关(我的粗体强调):

    除了层次路径中的点段之外,路径段是 被通用语法认为是不透明的。 URI 生成应用程序 经常使用段中允许的保留字符来分隔 方案特定或取消引用处理程序特定的子组件。为了 例如,分号 (";") 和等号 ("=") 保留字符是 常用于分隔参数和参数值适用于 那个片段。 逗号 (",") 保留字符通常用于 类似的目的。 例如,一个 URI 生产者可能会使用一个段 例如 "name;v=1.1" 表示对 1.1 版的引用 “name”,而另一个可能使用诸如“name,1.1”之类的段来 表示相同。

    因此,如果您不打算将逗号用作保留字符的函数,则可能需要使用%2C 对其进行百分比编码。用户从浏览器的地址栏中复制此类 URL 会将其粘贴到编码形式中,因此它几乎可以在任何地方使用。

    但是,尤其是因为它是一个保留字符,未编码的形式也应该可以工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-17
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      • 2013-10-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多