使用htaccess阻止特定的文件扩展名?

时间:2011-06-28 04:33:18

标签: apache .htaccess mod-rewrite

我正在使用此代码将所有请求发送到单个php文件:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) myfile.php?id=$1 [QSA,L]

但是现在我想阻止直接访问到myfile.php和其他phps。我不希望php文件直接通过浏览器打开,但它们必须适用于包含等等。

我该怎么做?

2 个答案:

答案 0 :(得分:4)

您可以使用文件指令阻止文件。要阻止以.inc结尾的文件,请执行以下操作:

<Files ~ "\.inc$">
Order allow,deny
Deny from all
</Files>

答案 1 :(得分:0)

也许这会有所帮助:

RewriteCond %{REQUEST_URI} !(.*).php$ [NC]
RewriteRule ^.* - [F,L]

这里有几个不错的例子:Apache wiki: RewriteCond