すべてのIPで.htaccessの仮想ディレクトリへのアクセスを拒否し、1つのIPを許可する方法は?

すべてのIPで.htaccessの仮想ディレクトリへのアクセスを拒否し、1つのIPを許可する方法は?

すべてのIPに対するフォルダへのアクセスを拒否する必要がある場合は、次のものを含める必要があるこのフォルダに.htaccessを配置する必要があります。

Order Deny,Allow
Deny from all
Allow from 1.1.1.1

次の例のように、仮想ホストでこれを実行できます。

<Directory "/var/www/html/mysite/my_folder">
Order Deny,Allow
Deny from all
Allow from 1.1.1.1
</Directory>

しかし、my_folderとその仮想ディレクトリが存在しない場合は、どうすればこれを解決できますか?

「mysite」フォルダ(/var/www/html/mysite/.htaccess)に.htaccessがあります。

AddDefaultCharset utf-8
Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on
RewriteRule ^favicon.ico$ - [F,L]
# if directory exist, use it
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# if not, sent requests to index.php
#RewriteRule . index.php <-- before
RewriteRule ^([^/].*)$ /index.php/$1 [L] # <-- after

ベストアンサー1

<Location>代わりに使用する必要があります<Directory>

<Location /my_folder/>
Order Deny,Allow
Deny from all
Allow from 1.1.1.1
</Location>

セクションのドキュメントを参照してください。Apache 2.2Apache 2.4

おすすめ記事