Вопрос

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

URI: / place / tags / Caf & # 233;

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

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

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

Это было полезно?

Решение

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top