如何使用apache .htaccess隐藏某些文件types?

由于我需要破解一个.htaccess文件已经很长时间了…

什么是最简单的方法来防止访问特定的文件扩展名,但整个网站?

<FilesMatch "\.(htaccess|htpasswd|ini|log|sh|inc|bak)$"> Order Allow,Deny Deny from all </FilesMatch> 

加载了一些常见的扩展,根据需要添加更多。

如果你真的想要一个404(而不是403),你可以使用mod_rewrite:

 RewriteEngine on RewriteRule \.ext$ - [R=404] 
 <FilesMatch "\.ext$"> Deny from all </FilesMatch> 

请参阅FilesMatch和Deny上的Apache文档

编辑 :Artefacto使一个好点 ,这将返回403,而不是404,如果这对你的目的很重要

您还可以使用RedirectMatch指令拒绝对文件扩展名的访问:

 RedirectMatch 403 ^/.+\.(php|html|gif)$ 

如果客户请求任何以.php.html.gif结尾的uri,这将返回403禁止的错误。 您可以使用栏|添加更多扩展到模式 。