PHP重定向而不影响头

PHP重定向而不影响头,php,header,web,http-headers,Php,Header,Web,Http Headers,我正在尝试创建一个PHP脚本,在每次加载页面时都会调用它,而不改变网站的现有代码,并且尽可能少地进行额外的配置 这是我的问题,我不希望它对实际请求头产生任何影响。以下是所需的流程: 请求->somescript.php->实际目的地 因此,我不能使用header函数,解决方案必须完全是服务器端的 我在想,在脚本完成它的任务后,它可能会包含/需要预期的PHP文件 如有任何想法/建议,将不胜感激 问候, 布兰登·马丁 PS:我不能在.htaccess文件中使用php_值,因为有时会在CGI环境中使用

我正在尝试创建一个PHP脚本,在每次加载页面时都会调用它,而不改变网站的现有代码,并且尽可能少地进行额外的配置

这是我的问题,我不希望它对实际请求头产生任何影响。以下是所需的流程:

请求->somescript.php->实际目的地

因此,我不能使用header函数,解决方案必须完全是服务器端的

我在想,在脚本完成它的任务后,它可能会包含/需要预期的PHP文件

如有任何想法/建议,将不胜感激

问候,

布兰登·马丁

PS:我不能在.htaccess文件中使用php_值,因为有时会在CGI环境中使用


底线:需要在每个服务器请求上运行一些代码

您希望在执行任何其他脚本之前先执行一个脚本吗?如果您使用Apache,我可以想出一个可能的解决方案。。。如果您可以在.htaccess中重写

.htaccess:

common.php:


还有很多代码需要编写,包括安全措施和更改$\u服务器阵列(如果子脚本需要)。

如果您可以修改服务器的php.ini,也许您可以使用该指令

不过,您需要小心:如果您直接将其添加到.ini,则该Web服务器承载的所有站点都会处于活动状态。您还可以通过apache或php fpm中的php_值来添加它,以便在每个站点上执行此操作,也可以在脚本中构建站点检测


就配置它的简易性而言,您无法让它变得更简单。

因此,您无法更改ini选项,例如?
RewriteEngine On
RewriteBase /test
RewriteRule !(common.php) common.php/$1
<?php
$request=substr($_SERVER['REQUEST_URI'],6);
if($request==""){
    $request="index.php";
}
if(substr($request,0,1)=="/"){
    // Prevent browsing local files (*nix)
    header("HTTP/1.1 403 Forbidden",true,403);
}else if(!file_exists($request)){
    // Not found
    header("HTTP/1.1 404 Not Found",true,404);
}else{
    // Request URI should be valid
    do_what_you_want_to_do_before_anything_else();
    // Include the original request URI...
    if(substr($request,-4)==".php"){
        include $request;
    }else{
        // Prevent executing non-PHP code
        echo file_get_contents($request);
    }
}
?>