我在 modx 革命 php 框架中创建了一个网站,最近我在 apache 中添加了 Friendly Url 功能。
由于该网站是希腊语,我想在 url 中有希腊字符,这是友好 url 的有效方法还是会在未来引起问题?
编辑:来自日本维基百科的示例链接 ディートリヒ・ブクステフーデ
我在 modx 革命 php 框架中创建了一个网站,最近我在 apache 中添加了 Friendly Url 功能。
由于该网站是希腊语,我想在 url 中有希腊字符,这是友好 url 的有效方法还是会在未来引起问题?
编辑:来自日本维基百科的示例链接 ディートリヒ・ブクステフーデ
RFC 1738文档的第 2.2 节指出:
因此,只有字母数字、特殊字符“$-_.+!*'()”和
用于其保留目的的保留字符可以
在 URL 中未编码地使用。
您可以对 URL 中的其他字符进行编码,某些浏览器(例如 Chrome)通常会在地址栏中对它们进行解码。
但是,为了确保 URL 在所有浏览器上都可读,您应该避免在 URL 中完全使用希腊字符 - 如果可能,请使用 US-ASCII 等效字符。
这不是一个好主意。要么对非 ASCII 字符进行urlencode (但这对 url 不是很友好),要么将它们转换为对应的 ASCII 字符。
$url = $server . $path . '/' . urlencode($greektext);
-
$arr1 = array('Α', 'α', 'Β', 'β', ...);
$arr2 = array('A', 'a', 'B', 'b', ...);
$url = $server . $path . '/' . str_replace($arr1, $arr2, $subject);