.htaccess 包含 utf-8 字符

.htaccess 包含 utf-8 字符

我正在尝试使用 mod_rewrite 创建包含 UTF-8 字符的干净 url。

我的.htaccess 文件如下所示:

RewriteEngine On
RewriteRule ^([a-zA-Z\-0-9]+)/?$ index.php?page=$1 [B]

它适用于英文字符,但当我尝试使用 utf-8 字符时,出现未找到错误。

我应该如何更改我的.htaccess 文件来完成这项工作?

答案1

服务器端的 URL 中不存在 utf-8 字符。

所有 URL 字符都经过百分比编码。因此,在重写规则中添加百分号即可。

RewriteRule ^([a-zA-Z\-0-9%]+)/?$ index.php?page=$1 [B]

相关内容