回答:
次のコードを.htaccess
ファイルに配置できます:-
RewriteCond %{REQUEST_URI} ^/(index.php/)?admin/ [NC]
RewriteCond %{REMOTE_ADDR} !^1\.1\.1\.1
RewriteRule ^(.*)$ http://%{HTTP_HOST}/ [R=302,L]
1.1.1.1
あなたのIPアドレスはどこですか。
*最後の行では、http://
との間にスペースがないことを確認して%{HTTP_HOST}/
ください。StackExchangeはコードのhttp://%
投稿を許可しないため、間にスペースを追加する必要があります。
複数は、別のマッチラインを追加することによって処理されます
RewriteCond %{REQUEST_URI} ^/(index.php/)?admin(.*) [NC]
RewriteCond %{REMOTE_ADDR} !^10\.1\.1\.10
RewriteCond %{REMOTE_ADDR} !^10\.2\.1\.10
RewriteRule .* - [F,L]
基本的には、このURLが正規表現であり、これらのアドレスではなく403である場合、403に変換されます。
F
、それL
は暗示されます。httpd.apache.org/docs/2.4/rewrite/flags.html。「[F]を使用すると、[L]が暗黙的に指定されます。つまり、応答はすぐに返され、それ以上のルールは評価されません。」
また、仮想ホストファイルのhttpd構成で「許可」ルールを設定することもできます。また、セキュリティを強化するために管理URLを変更します(「許可元」の代わりにベルトとブレースを使用すると、ある程度冗長になります)。
confファイル内では、次のようにします。
<Location /index.php/mynewadminname>
Order deny,allow
deny from all
#home
allow from 1.2.3.4
#office
allow from 5.6.7.8
</Location>
<Location /mynewadminname>
Order deny,allow
deny from all
#home
allow from 1.2.3.4
#office
allow from 5.6.7.8
</Location>
ここで、1.2.3.4と5.6.7.8は2つの許可されたIPアドレスです。代わりになるかもしれません。