相关疑难解决方法(0)

重写'漂亮的URL'时如何处理变音符号(重音符号)

我重写URL以包含用户生成的travelblogs的标题.

我这样做是为了URL和SEO的可读性.

 http://www.example.com/gallery/280-Gorges_du_Todra/

第一个整数是id,其余的是我们人类(但与请求资源无关).

现在人们可以编写包含任何UTF-8字符的标题,但大多数都不允许在URL中.我的听众通常都是说英语的,但是因为他们旅行,他们喜欢包括像

 Aït Ben Haddou

在Linux上使用PHP在URL中显示它的正确方法是什么?

到目前为止,我见过几种解决方案:

  1. 只是删除所有不允许的字符,替换空格这有奇怪的结果:
    'Aït Ben Haddou' ? /gallery/280-At_Ben_Haddou/
    不是真的有用.

  2. 只是删除所有不允许的字符,替换空格,离开charcode(stackoverflow.com)最有可能因为使用'正则表达式'
    这会产生奇怪的结果: 'tést tést' ? /questions/0000/t233st-t233st

  3. 转换为"最接近的等价物"
    'Aït Ben Haddou' ? /gallery/280-Ait_Ben_Haddou/
    但这对德国人来说是错误的; 例如'ü'应该音译'ue'.

对我来说,作为一个荷兰人,第三个结果"看起来"是最好的.
但我很确定(1)很多人会有不同的看法,(2)在德国的例子中,这是完全错误的.

第3个选项的另一个问题是:如何找到可以转换为7位等效的所有可能字符?

所以问题是:

  1. 在您看来,什么是最理想的结果.(在技术限制范围内)

  2. 如何从技术上解决它.(用PHP获得所需的结果).

php url-rewriting diacritics

19
推荐指数
1
解决办法
6980
查看次数

标签 统计

diacritics ×1

php ×1

url-rewriting ×1