Правило перезаписи .htaccess не поддерживает символы Юникода - PullRequest
2 голосов
/ 30 октября 2011

Я использую следующий ModRewrite, чтобы мои URL выглядели чище:

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)/?$ index.php?key=$1

Это позволяет использовать буквы и цифры очень хорошо, но выдает ошибку 400, когда я пытаюсь использовать%, который ятребуют использования символов Юникода для # / 'и т. д. Есть ли причина этого?Спасибо.

1 Ответ

2 голосов
/ 31 октября 2011

Вы должны использовать флаг B в своем правиле перезаписи. взгляните на руководство по apache .

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-#$%^&]+)/?$ index.php?key=$1 [B]

Редактировать : В mod_rewrite используются неэкранированные символы, поэтому, если вы хотите использовать символы Юникода, используйте их в правиле перезаписи и сохраните файл .htaccess в формате Юникод!

...