我正在尝试使用 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]