我重寫網址以包含用戶生成的旅行博客的標題。如何在重寫'漂亮的網址'時處理變音符號(重音符號)
我這樣做是爲了可讀性和SEO目的。
http://www.example.com/gallery/280-Gorges_du_Todra/
第一個整數是id,剩下的是我們人類(但與請求資源無關)。
現在人們可以編寫包含任何UTF-8字符的標題,但大多數不允許在URL中使用。 我的聽衆一般講英語,但由於他們的旅行,他們喜歡包括像
Aït Ben Haddou
什麼是將這種用於在Linux上使用PHP在URL顯示正確的方法名稱。
到目前爲止,我已經看到了幾種解決方案:
只是剝離所有非允許的字符,替代空間 這有奇怪的結果:
'Aït Ben Haddou' → /gallery/280-At_Ben_Haddou/
沒有真正的幫助。只是剝離所有非允許的字符,替代空間,離開則charCode(stackoverflow.com)很可能是因爲「正則表達式錘」的使用
這給奇怪的結果:'tést tést' → /questions/0000/t233st-t233st
翻譯成'最近的等值'
'Aït Ben Haddou' → /gallery/280-Ait_Ben_Haddou/
但是這對德國人來說是錯誤的;例如'ü'應該是音譯'ue'。
對於我來說,作爲荷蘭人,第三個結果'看起來'最好。我很確定(1)很多人會有不同的看法,(2)在德國的例子中,這顯然是錯誤的。
第三個選項的另一個問題是:如何找到所有可以轉換爲7位等效的字符?
所以,問題是:
什麼,在你看來,是最理想的結果。 (技術範圍內)
如何從技術上解決它。 (達到預期的結果)與PHP。
「ü」實際上會寫成「ue」。 「oe」是「ö」。 :) – Bombe 2009-01-21 16:36:49
[IDNA](http://en.wikipedia.org/wiki/IDNA) – 2009-01-21 16:39:37
我知道國際化域名,但他們不解決該資源路徑的問題,也不是很可讀 – Jacco 2009-01-21 16:47:07