mod_rewrite规则未正确遵循

时间:2019-03-23 18:12:08

标签: apache mod-rewrite

我想弄清楚为什么我的mod_rewrite规则不起作用的原因。我在其他EC2实例上已经做过多次,但这是我第一次在新的ec2实例上。据我所知,我保留了相同的设置,但是缺少一些东西。非常感谢您的帮助!

关键配置位:

  1. 所有流量都通过虚拟主机定向到SSL(命中http://www或http://的流量被重定向到https://www,命中https://的流量被重定向到https://www
  2. AllowOverride全部设置为默认文档根目录
  3. 在默认文档根目录上设置了选项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>

我已经采取的故障排除步骤:

  1. 验证是否已安装mod_rewrite-是
  2. 启用了mod_rewrite验证-是的(尽管它不是直接从httpd.conf中加载,而是包含了直接指向base.conf的内容)
  3. 确认已启用FollowSymLinks-是
  4. 验证AllowOverride全部启用-是

我能想到的唯一剩下的事情就是是否需要在规则之前的一行中进行启用mod_rewrite的操作?

0 个答案:

没有答案