我的问题是我想拒绝访问文件夹,但我不能。
我只在这个文件夹中放了一个.htaccess
文件:
order deny,allow
deny from all
知道会发生什么事吗?
答案 0 :(得分:15)
我懂了!这是由于apache配置。在我的foo.conf
sites-avaiables目录中,我有:
AllowOverride None
正如apache doc所说, AllowOverride描述:.htaccess文件中允许的指令类型
当它改为:
AllowOverride All
它完美无缺! 您还可以使用特定选项对其进行配置:
AllowOverride directive-type
指令选项:apache.org
答案 1 :(得分:3)
我使用该方法时遇到了同样的问题。试试这个:
RewriteEngine On
RewriteCond %{REQUEST_URI} foldername
RewriteCond %{REMOTE_ADDR} !^111\.222\.333\.44$
RewriteRule . - [R=404,L]
使用此方法,您需要添加自己的IP。
选项:而不是最后一行是找不到的404页面:
RewriteRule . - [R=404,L]
您可以将其更改为403禁止:
RewriteRule .*? - [F]
或重定向到您的主页:
RewriteRule . http://www.domain.com/ [R,L]
答案 2 :(得分:1)
你需要做两件事,首先,改变apache的conf以允许覆盖, 第二,改变托管的conf以允许覆盖
<强>第一强>
@Service
public class BlogEntryServiceImpl implements BlogEntryService {
public BlogEntry find(Long id) {
//Do your stuff here
}
public BlogEntry delete(Long id) {
//Do your stuff here
}
public BlogEntry update(Long id, BlogEntry data) {
//Do your stuff here
}
}
并将其更改为;
nano /etc/apache2/apache2.conf
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<强>第二强>
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
将以下代码添加到其中,
cd /etc/apache2/sites-available
nano yourdomain.com.conf
添加后
<Directory "/var/www/html/yourdomain.com/public_html">
AllowOverride All
Require all granted
</Directory>
答案 3 :(得分:0)
使用此:
<Directory /folder_name>
Order Deny,Allow
Deny from all
</Directory>
最好添加规则以允许您的IP地址。您可以使用允许from_ip_address 进行此操作。小心ip地址,因为它可以共享。您可以使用http://www.whatismyip.com/
检查您的IP地址