我习惯在多语言网站上工作,在接下来的几个月内,我们添加了韩语,我们现在正在添加日语。除了它在日志文件上生成大量404错误的事实之外,我还有另一个问题。插入此URL时,Apache服务器响应带有错误请求:
学校 - 详细な评価-11
#[.htaccess]
RewriteRule ^学校-詳細な評価-(.+)$ /statistics.php?n=$1 [L]
我也尝试使用[B]标志,但没有任何改变。
我也尝试删除角色,但我发现它只有在我这样做时才有效:
#[.htaccess]
RewriteRule ^学-(.+)$ /statistics.php?n=$1 [L]
但当然我无法以这种方式避免这个问题:D
我注意到Apache会将网址转换为: %E5%AD%A6%E6%A0%A1-%E8%A9%B3%E7%B4%B0%E3%81%AA%E8%A9%95%E4%BE%A1-11
然后我也试了一下:
#[.htaccess]
RewriteRule ^%E5%AD%A6%E6%A0%A1-%E8%A9%B3%E7%B4%B0%E3%81%AA%E8%A9%95%E4%BE%A1-(.+)$ /statistics.php?n=$1 [L]
但我仍然遇到这个问题:(
有谁知道如何修复它或为什么会发生这种情况?我做了一项研究,但所有论坛和网站都建议在网址的末尾使用标志B.
欢迎任何帮助!谢谢:))
答案 0 :(得分:1)
尝试使用Hex:
RewriteRule ^\xE5\xAD\xA6\xE6\xA0\xA1-\xE8\xA9\xB3\xE7\xB4\xB0\xE3\x81\xAA\xE8\xA9\x95\xE4\xBE\xA1-(.+)$ /statistics.php?n=$1 [L]
例如,有了这个规则:
RewriteRule ^\xE5\xAD\xA6-(.+)$ /statistics.php [L]
此网址http://domain.com/学-t
将重定向到http://domain.com/statistics.php
对于测试,您可以使用在线htaccess测试器:http://htaccess.madewithlove.be/和记住将页面编码更改为 UTF-8 测试