Я дергаю себя за волосы, пытаясь понять, почему мои правила mod_rewrite не работают. Я делал это несколько раз ранее на других экземплярах EC2, но это мой первый раз на новом экземпляре ec2. Насколько я могу судить, я сохранил те же настройки, но что-то упустил. Ваша помощь очень ценится!
Ключевые биты конфигурации:
- Весь трафик направляется на SSL через виртуальный хост (трафик, который достигает http://www или http: // перенаправляется на https://www, трафик, который достигает https: // перенаправляется на https://www)
- AllowOverride All установлен в корне документа по умолчанию
- Параметры FollowSymLinks установлены в корне документа по умолчанию
Вот правило перезаписи, включенное как в httpd.conf, так и в ssl.conf
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC]
RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif|css|js) [NC]
RewriteRule .* /maintenance.html [R=302,L]
</IfModule>
Действия по устранению неполадок, которые я уже предпринял:
- Убедитесь, что mod_rewrite установлен - ДА
- Убедитесь, что mod_rewrite включен - ДА (хотя он не загружается напрямую из httpd.conf, а, скорее, включает в себя ссылку на base.conf)
- Убедитесь, что FollowSymLinks включены - ДА
- Проверка AllowOverride Все включено - ДА
Единственное, о чем я могу думать, это о том, нужно ли включить mod_rewrite в строке перед правилами?