在htaccess中包含一个php文件,并在其他php文件上运行它

时间:2014-03-26 18:53:59

标签: php .htaccess

如何在htaccess中包含一个php文件来处理所有其他php文件呢? 例如,以下是我的Web根目录中的文件:

index3.php
index4.php
check.php
folder1
folder2

当我执行php文件时,我希望首先运行check.php文件。

2 个答案:

答案 0 :(得分:2)

您可以将以下行添加到.htaccess文件中,以便在请求的文件运行之前(自动)包含文件。像这样:

php_value auto_prepend_file "file.php"

有关PHP文档auto_prepend_filephp_value in htaccess

的更多信息

答案 1 :(得分:0)

您可以使用一种网关文件,在check.php文件的底部或顶部添加一个包含指令,如:

// here you need to check if the file exists and are a valid php file etc
$file = ((isset($_GET['file']) && is_file($_GET['file'])) ? $_GET['file'] : null);
if(is_file($file)):
  // include the file
  include_once($file);
endif;

然后在.htaccess文件中添加以下内容:

// route every request to 'check.php' appending the filename of the request
// of course you also would have to check so the request isn't a folder or invalid
// file like an image css etc
RewriteRule (.*) check.php?file=$1 [L,QSA]

我不确定上述情况有多安全,但应该有效。