前提・実現したいこと
WordPressのマルチ機能(サブディレクトリ型)の各サイトの管理画面にIP制限を設定したいと考えております。
発生している問題・エラーメッセージ
親サイトの管理画面にログイン出来るのですが、子サイトの管理画面にログインが出来ない状態となりました。
http://hoge.com/wp-admin ← ログイン出来ます(許可したアドレスからのみログイン可)
http://hoge.com/abc/wp-admin ← 403エラー
該当のソースコード
WordPressの前段にWAFを導入していますので、それぞれ下記の通り設定しています。
・WordPress(DocumentRoot)/配下の.htaccess
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^xmlrpc.php$ "http\://0.0.0.0/" [R=301,L] RewriteRule ^index.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L] RewriteRule ^([_0-9a-zA-Z-]+/)?(.*.php)$ $2 [L] RewriteRule . index.php [L] </IfModule> # END WordPress DirectoryIndex index.html index.htm index.shtml index.php index.cgi Options -Indexes AuthUserFile /home/xxx/www/.htpasswd AuthType Basic AuthName "Web access" Satisfy any Order deny,allow <Files "wp-login.php"> SetEnvIf X-Forwarded-For "^xxx.xxx.xxx.xxx" wp_admin_ok order deny,allow deny from all Allow from env=wp_admin_ok </Files>
・wp-admin/配下の.htaccess
DirectoryIndex index.html index.htm index.shtml index.php index.cgi Options -Indexes AuthUserFile /home/xxx/www/.htpasswd AuthType Basic AuthName "Web access" Satisfy all SetEnvIf X-Forwarded-For "^xxx.xxx.xxx.xxx" wp_admin_ok Require all denied Require env wp_admin_ok
試したこと
wp-admin/配下の.htaccessのIPアドレスを変更したところ、親サイトの管理画面にもログインすることが出来なくなったため、上記設定は有効かと思われます。
(それ以外は試しておりません。。)
補足情報(FW/ツールのバージョンなど)
サーバはさくらインターネットのレンタルサーバーを利用しております。
マルチサイトの情報が検索したのですが、あまり情報が出てこず、どなたかお詳しい方ご教示、ご支援等して頂けますと大変助かります。
情報に過不足がありましたら、ご指摘頂けますとありがたいです。
あなたの回答
tips
プレビュー