httpsでのmod_rewrite
普通にRewriteCond書いたらhttpsでは全く動作しなかった。
公式ドキュメントにはRewriteEngineはバーチャルホストごとに効くとあった。
Note that rewrite configurations are not inherited by virtual hosts. This means that you need to have a RewriteEngine on directive for each virtual host in which you wish to use rewrite rules.
更に、.htaccessも有効にし、RewriteEngineの設定を親ディレクトリを優先させるように、以下を/etc/httpd/ssl.confのVirtualHostディレクティブの中に追記した。
|
1 2 3 4 5 |
<Directory "/var/www/html"> AllowOverride All </Directory> RewriteEngine On RewriteOptions inherit |
終わったら必ずApacheを再起動すること。
|
1 |
systemctl restart httpd |
これでmod_rewriteでのアクセス制御がうまく動作するようになった。