防止查看某些.php文件

时间:2010-11-20 23:19:52

标签: php apache .htaccess mod-rewrite

我正在使用PHP与Apache和漂亮的URL与mod_rewrite。

我有一个index.php,其中包含一些其他包含内容的.php文件 现在我想阻止人们查看那些(仅限内容).php文件,除非它们当然是通过我的index.php脚本包含的。

这是我正在使用的RewriteRule:
RewriteRule ^/?([a-zA-Z0-9/-]+)/?$ /index.php [NC,L]

它会重写对index.php的每个请求,其中处理请求并相应地包含内容。

有没有办法用mod_rewrite,即我的.htaccess执行此操作?一般拒绝访问.php文件或类似的东西?

谢谢!

3 个答案:

答案 0 :(得分:4)

在索引文件中放一个常量,然后在每个php文件中执行以下操作:

defined('ALLOWED') or die('No direct script access.');

答案 1 :(得分:4)

将您的PHP文件(index.php除外)保留在Web根目录之外。您仍然可以在代码中包含/要求它们,但人们将无法通过网址访问它们。

答案 2 :(得分:2)

<击> 如果所有请求都被重写为index.php,那么如何访问这些文件呢?您不应该拒绝访问。

使用

RewriteRule ^(.*)$ index.php [L]

并处理PHP中的所有其他内容。