在研究Google和SO后,似乎对此存在矛盾。
我们已经遇到了谷歌浏览器的问题,将|
分隔符替换为%7C
,而Firefox和Safari则没有。{/ p>
以下是一个例子:
http://www.example.com/page1|sub-page2|sub-page-3
在为语义URL选择分隔符时是否有任何严格的规则?是否有使用|
的强反对(或何时变通)?
答案 0 :(得分:3)
|
不是网址中的有效字符。现代浏览器在发送时会静默编码为%7C
,并且可能会也可能不会在地址栏中显示此更改。同样,服务器会为您静默解码角色。
这可能是上一个千年的一个问题,因为你没有指定http://
,浏览器会崩溃,但今天你可以使用你想要的任何东西,浏览器会处理它。但是,http://example.com/test|fish Markdown等自动解析器可能不同意它是有效的URL。在这种情况下,它看起来确实如此,但在我的论坛上尝试,它会抱怨你。
答案 1 :(得分:1)
Internet Explorer / chrome使用url编码在页面请求完成后在地址栏中显示url时,%7C是显示管道的安全方式('|') 所以这不是chrome正在这样做的问题。
作为一个让所有浏览器都以相同方式运行的厚颜无耻的修复,为什么不使用%7C作为你的get-go的分隔符,而不是管道,然后所有浏览器都应该在幕后将其解释为管道,但在地址栏中将其显示为& 7C。