我不能阻止文件的工作。 如果我在.htaccess中使用以下语句,它会阻止我的整个站点:
order allow,deny <Files ~ ".*\.(js|JS|css|CSS|jpg|JPG|gif|GIF|png|PNG|mp4|MP4)$"> allow from all </Files>
我正在运行Apache 2.2.22(Debian)
如果我注释掉以上几行,我可以再次访问我的网站。 如果还不清楚,我试图阻止从我下载的所有文件,除了允许的文件types。
在这个普通主题和其他网站上有很多post,但是我已经在这里2到3个小时了,而且我不能把这个问题弄糊涂了。 如果看起来很明显,我感到抱歉。
注意:AllowOverrides肯定是打开的。 我已经在所有的conf目录和包含的目录中清除了AllowOverrides,并且现在到处都打开了。 我已经重新启动了apache2服务,当conf更改已经完成。
任何人都可以看到我做错了什么?
您可以使用基于env的垃圾处理系统来允许和拒绝访问您的网站:
SetEnvIfNoCase request_uri (js|css|jpg|gif|png|mp4|php|html)$ allowedfiles=1 Order deny,allow Deny from all Allow from env=allowedfiles
SetEnvIfNocase不区分大小写,它匹配PNG和PNG 。
你也可以使用mod-rewrite:
RewriteEngine on ##If the request uri doesnt end with these extensions## RewriteCond %{REQUEST_URI} !(js|css|jpg|gif|png|mp4|php|html)$ [NC] ##forbid the request## RewriteRule ^ - [F,L]