今回管理画面の実装にあたり、セキュリティ対策のためSSL化に加えて、許可したIPからのアクセス以外は全て拒否するようにする必要が出ました。
やったこと
フロント側(/var/www/html/.htaccess)
httpsでアクセスしてきた場合はhttpにリダイレクトします。
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} on RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L] </IfModule>
管理画面側(/var/www/html/admin/.htaccess)
特定のIPアドレスからのアクセス以外は全て403を返し、httpでアクセスしてきた場合はhttpsにリダイレクトします。
order deny,allow deny from all allow from 000.000.000.000 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] </IfModule>
やりたいこと
.htaccessを一つに統一したいです。なので、フロント側の.htaccessで特定のディレクトリのみに適用、みたいなことがしたいです。DirectoryMatchみたいな。
調べたところ、FilesMatchでできるとのことでしたが、試したところ動作しませんでした。書く順番が関係しているのでしょうか?
/var/www/html/.htaccess
<IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} on RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R,L] </IfModule> <FilesMatch "\/?admin"> order deny,allow deny from all allow from 000.000.000.000 <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R,L] </IfModule> </FilesMatch>
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/28 02:36