URL百分比编码不起作用

问题描述:

我想做一个有点简单的事情,没有运气 - 我想在我的URL中显示希伯来文/阿拉伯字符。URL百分比编码不起作用

例如:我想要的网址显示一个文件名为:aאm.php

所以我百分之编码中间UTF8字符,结果是:a%D7%90m.php。我上传a%D7%90m.php到我的服务器(Apache)的,并试图要求的网页www.example.com/a%D7%90m.php & www.example.com/aאm.php但我的服务器响应:

在此服务器上未找到请求的网址/a%D7%90m.php

所以我浏览www.example.com/a%D7%90m.php & www.example.com/aאm.php当试图上传aאm.php(不百分号编码)来代替,但同样没有运气。

如何解决这个问题?

+1

一个值得尝试的技巧可能是激活“DirectoryIndex”并查看Apache本身在该页面上提供的网址 – 2011-02-11 00:05:15

+0

感谢Pekka。它会看到一个%25D7%2590m.php(每一个百分比都增加了一个25),为什么?我怎样才能解决这个问题? – Tom 2011-02-11 00:08:06

解决的办法是在www.example.com上设置一个mod重写.htaccess。例如,如果您想让您的链接为www.example.com/عربية并将www.example.com/arabic.php文件实际处理后台请求,那么只需在.htaccess文件中编写此代码:

RewriteEngine 
OnRewriteRule ^عربية$ arabic.php