.HTACCESS Unicode Recignisition / Encoding

У меня проблема с моими URL-адресами в моем .htaccess.

А именно, все отлично работает с этим (теперь старым) кодом …

# URL ShortCut Maker. RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} .(.+)$ RewriteRule ^(.) ?open=encyclopedia&letter=$1&term=%1 [B,L,NC] 

Он правильно показывает URL как example.com/Modesty (он показывает страницу так, как если бы URL был /?open=encyclopedia&letter=m&term=modesty ), но проблема возникает, когда я вхожу: example.com/Šanti , или
example.com/Đin , или
example.com/Žal ,
example.com/Čakra , или
example.com/Ćof
… если я введу любой из этих URL-адресов – он показывает страницу, как если бы я ввел:
?open=encyclopedia а не как
?open=encyclopedia&letter=Š&term=Šanti

EDIT: Неанглийские письма, о которых идет речь / проблема.

Любое решение?

Вы можете изменить существующее правило с помощью правила:

 RewriteEngine On RewriteBase / # executes repeatedly as long as there are more than 1 spaces in URI RewriteRule "^(\S*)\s+(\S* .*)$" $1+$2 [N,NE] # executes when there is exactly 1 space in URI RewriteRule "^(\S*)\s(\S*)$" $1+$2 [L,R=302,NE] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^([AZ](?:[^\x00-\x7F]+|[AZ])?).*$ ?open=encyclopedia&letter=$1&term=$0 [B,L,QSA] RewriteRule ^([^\x00-\x7F]+).*$ ?open=encyclopedia&letter=$1&term=$0 [B,L,QSA] 

Отрицательный класс символов [^\x00-\x7F] соответствует любому символу вне диапазона ASCII.