Web上の情報を参照しながら、.htaccess にてIP制限の実施を試みているのですが、上手くいきません。
どなたかご教示いただけますでしょうか。
■やりたい事
ローカルホスト以外のIPからの、サイトへのアクセスをSorryページにリダイレクトしたい。
■環境
Apache:2.2.15
IP :192.168.11.39
GIP:XXX.YYY.ZZZ.ABC
■httpd.conf の記述
DocumentRoot "/var/www/html" <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny #Order deny,allow Allow from all #Allow from 127.0.0.1 </Directory>
■.htaccess内の記述
ErrorDocument 503 /user_data/sorry.php <IfModule mod_rewrite.c> RewriteEngine On #RewriteBase / RewriteCond %{REQUEST_URI} !^/user_data/sorry.php RewriteCond %{REQUEST_URI} !^/user_data/ RewriteCond %{REMOTE_ADDR} !^XXX.YYY.ZZZ.ABC$ RewriteCond %{REMOTE_ADDR} !^192.168.11.39$ RewriteCond %{REMOTE_ADDR} !^127.0.0.1$ RewriteRule ^.*$ /user_data/sorry.php [L] </IfModule>
上記の様に、念のためと思い.htaccess内にはローカルIPとグローバルIPを両方記述していたのですが、
結局のところ httpd.conf にてAllowOverrideを有効化すると、外部、ローカルホスト共にSorryページにリダイレクトされてしまいます。
おたすけください。。。
以上です。
よろしくお願い致します。
★追記★17:57
修正後の httpd.conf
<Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all ErrorDocument 503 /user_data/sorry.php <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} !(^/user_data/sorry.php) RewriteCond %{REQUEST_URI} !(^/user_data/) RewriteCond %{REMOTE_ADDR} !(^192.168.11.39)$ RewriteRule ^.*$ /user_data/sorry.php [L] </IfModule> </Directory>

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/06/14 03:24