
※当サイトにはプロモーションが含まれています。
年に1回ぐらいですが、知人などから、ホームページの作成を頼まれることがあります。
本来であれば、ローカル環境で作成するのかもしれませんが、それが面倒くさい。
その為、本番環境に「.htaccess」を置いて、IPアドレスの制限をしてサイトを作成しています。
毎年、記述方法を忘れるので、備忘録として・・・。
特定のIPアドレスを許可する「.htaccess」
特定のIPアドレスを許可する「.htaccess」の記述例。
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAll>
Require ip 123.456.78.90 # 自宅からのアクセスを許可
Require ip 98.76.54.32 # クライアントからのアクセスを許可
</RequireAll>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from all
Allow from 123.456.78.90
Allow from 98.76.54.32
</IfModule>
上記は、Apache2.4と、Apache2.2の両方に対応するための条件分岐をしています。
なお、IPアドレスは、確認くんで確認する事ができます。
このIPアドレスを、ダミーで記載しているIPアドレスの箇所に半角で記載してあげればOKです。
補足として、特定のIPアドレス以外からアクセスがあった場合に、指定したURLへ転送する記述例です。
<IfModule mod_authz_core.c>
# Apache 2.4
<RequireAll>
Require ip 123.456.78.90
Require ip 98.76.54.32
</RequireAll>
# 許可されていないIPは転送する設定 (Apache 2.4用)
<If "%{REMOTE_ADDR} !~ /^123\.456\.78\.90$/ && %{REMOTE_ADDR} !~ /^98\.76\.54\.32$/">
Redirect 302 / https://example.com/forbidden
</If>
</IfModule>
<IfModule !mod_authz_core.c>
# Apache 2.2
Order Deny,Allow
Deny from all
Allow from 123.456.78.90
Allow from 98.76.54.32
# 許可されていないIPは転送する設定 (Apache 2.2用)
RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^123\.456\.78\.90$
RewriteCond %{REMOTE_ADDR} !^98\.76\.54\.32$
RewriteRule ^.*$ https://example.com/forbidden [R=302,L]
</IfModule>
「.htaccess」ファイルを使用する際の注意点
Nginx(エンジンエックス)を使用している場合、.htaccessファイルは使用できないので注意が必要。
なお、Nginxを使用している代表的なレンタルサーバーは、XServer(エックスサーバー)です。
ただし、XServerでは、ApacheとNginxを共存させることで、.htaccessが利用できるようです。
以上です…
備忘録なので、「.htaccess」ファイルの設置の仕方とかはないです。スミマセン。
いずれ、記事を更新もしくは追加したいと思います。