URI UTF-8 взрывает Apache & amp; mod_rewrite
-
06-07-2019 - |
Вопрос
У меня есть 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 или другие). Кажется, работает нормально.