.htaccess URL百分比编码无效

.htaccess URL百分比编码无效,.htaccess,url,utf-8,urlencode,percent-encoding,.htaccess,Url,Utf 8,Urlencode,Percent Encoding,我正在尝试做一件有点简单的事情,但运气不好——我想在我的URL中显示希伯来语/阿拉伯语字符 例如:我希望URL显示一个名为:aאm.php的文件 我对中间的UTF8字符进行了百分比编码,结果是:a%D7%90m.php。我已将%D7%90m.php上载到我的服务器Apache,并尝试请求页面www.example.com/a%D7%90m.php&www.example.com/aאm.php,但我的服务器响应: 在此服务器上找不到请求的URL/a%D7%90m.php 因此,我尝试上传aאm.

我正在尝试做一件有点简单的事情,但运气不好——我想在我的URL中显示希伯来语/阿拉伯语字符

例如:我希望URL显示一个名为:aאm.php的文件

我对中间的UTF8字符进行了百分比编码,结果是:a%D7%90m.php。我已将%D7%90m.php上载到我的服务器Apache,并尝试请求页面www.example.com/a%D7%90m.php&www.example.com/aאm.php,但我的服务器响应:

在此服务器上找不到请求的URL/a%D7%90m.php

因此,我尝试上传aאm.php而不使用百分比编码,但在浏览www.example.com/a%D7%90m.php&www.example.com/aאm.php时同样没有运气


如何解决此问题?

解决方案是在www.example.com中设置mod重写.htaccess。例如,如果 您希望您的链接是www.example.com/عبية和文件www.example.com/arabic.php以实际处理幕后请求,然后只需在.htaccess文件中编写以下代码:


解决方案是在www.example.com中设置一个mod重写.htaccess。例如,如果 您希望您的链接是www.example.com/عبية和文件www.example.com/arabic.php以实际处理幕后请求,然后只需在.htaccess文件中编写以下代码:


一个值得尝试的技巧可能是激活DirectoryIndex并查看Apache本身在该页面上提供的URL感谢Pekka。它看到了一个%25D7%2590m.php,每增加一个25的数字,为什么?我如何解决这个问题?%25是%的十六进制转义。这意味着您已使用转义名称作为文件名。你需要在文件名中使用真实的字符来创建文件。好吧,但当我这样做时,apache会将页面视为aám.php而不是aאm.php,即使我尝试输入它,我也无法接受一个值得尝试的技巧可能是激活DirectoryIndex并查看apache本身在该页面上提供的URL谢谢Pekka。它看到了一个%25D7%2590m.php,每增加一个25的数字,为什么?我如何解决这个问题?%25是%的十六进制转义。这意味着您已使用转义名称作为文件名。您需要创建名称中包含真实字符的文件。好吧,但当我这样做时,apache将页面视为aám.php而不是aאm.php,即使我尝试输入它,我也无法接受问题是URL百分比编码不起作用。硬编码特定的重写规则对于其他正在寻找此问题相同答案的用户来说不是正确的答案。问题是URL百分比编码不起作用。硬编码一个特定的重写规则对于其他用户来说不是一个合适的答案。
RewriteEngine 
OnRewriteRule ^عربية$ arabic.php