很多朋友问我,为什么他已经在apache规则里面加了禁止别人直接下载.htaccess文件,为什么还是可以下载! 其实这个很简单,因为.htaccess在lnmpa当它作为文件被访问的时候其实是由Nginx来处理的,所以我们需要在Nginx里来添加规则. 而且这个规则,在Nginx默认的里面是存在的。
# deny access to .htaccess files, if Apache’s document root # concurs with nginx’s one location ~ /\.ht { deny all; }复制到你的nginx/conf/vhost/站点名称.conf 里,然后service nginx restart nginx禁止访问所有.开头的隐藏文件设置
location ~* /\.* { deny all; }nginx禁止访问目录,例如:禁止访问path目录
location ^~ /path { deny all; }可以把path换成实际需要的目录,目录path后是否带有"/",带"/"只禁止访问目录,不带"/"禁止访问目录中的文件 注意这段禁止php权限的secion一定要放在 指定的php section的前面才可以生效的. 禁止多个目录的php执行访问权限和html文件的访问!
location ~ /(upload|cache/templates)/.*\.(php|php5|html)?$ { deny all; }