2011-02-11 2 views
1

Я пытаюсь сделать несколько простую вещь без везения - я хочу отображать символы на иврите/арабском языке в своем 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 но сервер ответил:

Запрашиваемый URL /a%D7%90m.php не был найден на этом сервере.

Так что я пытался загрузить aאm.php (без процентов кодирования) вместо этого, но опять-таки не повезло при просмотре www.example.com/a%D7%90m.php & www.example.com/a א m.php.

Как исправить эту проблему?

+1

Один трюк, который стоит попробовать, может активировать «DirectoryIndex» и увидеть, какие URL-адреса Apache сам обслуживает на этой странице. –

+0

Спасибо Pekka. он видит% 25D7% 2590m.php (на каждый процент добавлено 25 номеров), почему? Как я могу это исправить? – Tom

+0

'% 25' - это hex-escape для'% '. Это означает, что вы используете экранированное имя для имени файла. Вам нужно создать файл с реальным символом в его имени. –

ответ

0

Решение заключалось в том, чтобы установить mod rewrite .htaccess на www.example.com. Например, если вы хотите, чтобы ваша ссылка была www.example.com/ عربية и файл www.example.com/arabic.php, чтобы фактически обрабатывать запрос за кулисами, просто напишите этот код в файле .htaccess:

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

Вопрос: «Кодирование URL-адресов не работает» , Жесткое кодирование определенного правила перезаписи не является правильным ответом для других пользователей, которые ищут тот же ответ на эту проблему. –

Смежные вопросы