Linux
如何拒絕對所有 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 及其虛擬目錄不存在時,我該如何解決此任務?
有.htaccess,位於客棧“mysite”文件夾(/var/www/html/mysite/.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
您應該使用
<Location>
而不是<Directory>
.<Location /my_folder/> Order Deny,Allow Deny from all Allow from 1.1.1.1 </Location>
請參閱有關Apache 2.2、Apache 2.4部分的文件。