2014-04-01 38 views
-3

我們改編了一箇舊網站來使用語義URL,並且由於多種原因,無法使用/作爲分隔符。相反,我們使用|作爲我們的分隔符。如何防止Google Chrome和IE取代'|'在URL中使用%7C

例如:

www.example.com/page|sub-page1|sub-sub-page2 

一切正常,只有一個小問題。谷歌Chrome和IE瀏覽器正在顯示的URL爲:

www.example.com/page%7Csub-page1%7Csub-sub-page2 

我們正在使用|編碼我們|分隔符,但Chrome和IE仍與%7C取代。

Firefox和Safari正確顯示URL!

+3

並且由於在HTTP URL上下文中將'|'編碼爲'%7C'完全是_correct_,所以您的抱怨現在完全是......? – CBroe

+0

1.我們擔心,使用%7C複製網址可能會導致其他網站出現問題; 2.使得URL難以閱讀哪種類型會破壞使用語義URL的目的! –

+5

1.您應該同樣擔心在URL中使用_unquoted_'|'也可能導致相反的問題,2.那麼首先在您的「語義」URL中不要使用非URL安全的字符! – CBroe

回答

2

您在評論中提到「我們會找到另一個分隔符」。

您可能想看看this earlier answer,它描述了URL的哪個部分允許使用哪些字符。

這個,你可以看到,您可以自由使用字符「在會」是

unreserved = ALPHA/DIGIT/"-"/"."/"_"/"~" 

在我看來,所有這些人物中,~是可合理地只有一個你的地方|

+0

謝謝弗洛里斯。我有時會看到使用逗號(www.example.com/page,sub-page1,sub-sub-page2)。你對此有何看法? –

+1

@richardTinkler逗號不在未經保留的列表中。儘管你可以避開它。用你認爲看起來更好的東西去吧。 – Floris

相關問題