Ошибка Internal Server Error обычно возникает при наличии синтаксической ошибки или неправильном форматировании кода в файле .htaccess. В вашем случае, код выглядит правильно и не содержит явных ошибок. Однако, есть несколько вещей, которые можно проверить, чтобы решить эту проблему:
1. Убедитесь, что Apache поддерживает модуль mod_rewrite. Вы можете проверить это, открыв конфигурационный файл Apache (обычно называется httpd.conf) и убедитесь, что в нем есть следующая строка:
LoadModule rewrite_module modules/mod_rewrite.so
Если этой строки нет, нужно раскомментировать ее, удалив символ "#" в начале строки. После этого перезагрузите сервер Apache.
2. Проверьте, что AllowOverride задан корректно для директивы, содержащей вашу папку, в файле конфигурации Apache. Директива AllowOverride должна быть установлена на "All" или "FileInfo" для вашей папки, чтобы позволить использование .htaccess файлов.
Пример:
<Directory "/var/www/html">
AllowOverride All
</Directory>
3. Если все еще возникает ошибка, проверьте журнал ошибок (обычно называется error_log) сервера Apache. В журнале ошибок вы можете найти дополнительную информацию о причине Internal Server Error.
Проверьте эти пункты и примените соответствующие исправления, чтобы решить проблему с ошибкой Internal Server Error при использовании файла .htaccess.