2014-02-17 3 views
1

У меня есть правило перезаписи в моем htaccess, чтобы проверить, является ли последний сегмент алфавитом (включая акцентированные символы).htaccess rewriterule с акцентами дает мне внутреннюю ошибку сервера 500

RewriteRule ^search/tag/([A-Za-záéíóú]+)$  page.php?tag=$1 [L] 
RewriteRule ^search/tag/([A-Za-zàèìòù]+)$  page.php?tag=$1 [L] 

Почему первый работает, а второй вызывает внутреннюю ошибку сервера 500?

Проблема, по-видимому, в том, что символ «а», почему?

ответ

1

Обязательно используйте B флаг с кавычками в регулярном выражении, чтобы исправить ошибку 500:

RewriteRule "^search/tag/([A-Za-záéíóú]+)$" page.php?tag=$1 [L,B] 

RewriteRule "^search/tag/([A-Za-zàèìòù]+)$" page.php?tag=$1 [L,B] 
+0

Добавление цитаты кажется достаточно, никогда не делал это раньше, спасибо. Однако, кто-то знает, почему проблема с серьезной проблемой? –

+0

Каким-то образом Apache интерпретирует пространство, когда он получает символ 'à', который является' C3A0' в UTF-8 – anubhava

+0

понял, спасибо снова –

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