URI UTF-8 взрывает Apache и mod_rewrite - PullRequest
1 голос
/ 06 ноября 2008

У меня есть Apache с mod_rewrite, и всякий раз, когда я ввожу URI с акцентированным символом в нем, Apache выдает мне ошибку «Страница не найдена».

URI: / place / tags / Café

Кодировка моей страницы - UTF-8. Мои подключения к базе данных и таблицы UTF-8. Мой Apache DefaultCharacterSet = UTF-8. Да, в Apache есть языковые пакеты, но я считаю, что они существуют для содержимого страницы, а не для URI.

Мы бы предпочли не кодировать url в знаки процента и html-объекты, а выделение специальных символов в настоящее время нецелесообразно для наших 100 миллионов строк данных.

Любая помощь будет принята с благодарностью.

1 Ответ

2 голосов
/ 06 ноября 2008

Оказывается, у меня было плохое правило переписывания apache. Я использовал: ([a-zA-Z0-9 _-] ) Символы UTF-8 не являются частью a-zA-Z. Измените правило на: (. ) Это означает любые символы (ASCII, UTF-8 или другие). Кажется, работает нормально.

...