使用FilesMatch来增加安全性

我一直在试验FilesMatch指令。 在我第一次尝试的时候,我发现我的默认规则(规则集1和2)不允许我访问www.test.com/但确实允许我访问www.test.com/index.php

我推测这是因为文件"/"击中规则集1,但不是规则集2,所以被阻止。 因此,我把规则3放在原处,现在一切似乎都在起作用。 我只是想问问,有没有人有任何意见来实施这个指令,以及我是否正确地做了这件事?

 #Ruleset1 <FilesMatch "^.*$"> Order Deny,Allow Deny from all </FilesMatch> #Ruleset2 <FilesMatch "^.*\.(css|html?|js|pdf|txt|xml|xsl|gif|ico|jpe?g|png|php?)$"> Order Deny,Allow Allow from all </FilesMatch> #Ruleset3 <FilesMatch ""> Order Deny,Allow Allow from all </FilesMatch> 

这可能不符合你的意图。

您的最后一场比赛有效地覆盖了其他规则,并允许所有请求; ""将始终匹配所有内容(如第一部分"^.*$" )。

只是使用<FilesMatch>似乎是错误的方法,你可以澄清你想要达到的目标吗?

编辑:

像这样的东西应该适用于这两种情况:

 <Location /> Order deny,allow Deny from all </Location> <LocationMatch "(/|\.css|\.html?|\.js|\.pdf|\.txt|\.xml|\.xsl|\.gif|\.ico|jpe?g|\.png|\.php)$"> Allow from all </LocationMatch>