apache重写引擎处理PHP是否需要一次文件路径?

apache重写引擎处理PHP是否需要一次文件路径?,php,apache,mod-rewrite,url-rewriting,url-rewrite-module,Php,Apache,Mod Rewrite,Url Rewriting,Url Rewrite Module,通常,来自Url的每个文件请求都会到达Web服务器。这里假设“Apache”是web服务器 https://mypersonaldomain.com/browse.html:它将命中apache服务器,并从服务器返回“browse.html” 如果“重写引擎”处于启用状态,则它将通过“重写查询”传递,并形成新的Url(如果“重写条件”中存在任何匹配项),然后从获取的路径返回文件 假设,browse.html.php <?php require_once('somefile.php'); ?

通常,来自Url的每个文件请求都会到达Web服务器。这里假设“Apache”是web服务器

https://mypersonaldomain.com/browse.html
:它将命中apache服务器,并从服务器返回“browse.html”

如果“重写引擎”处于启用状态,则它将通过“重写查询”传递,并形成新的Url(如果“重写条件”中存在任何匹配项),然后从获取的路径返回文件

假设,browse.html.php

<?php
require_once('somefile.php');
?>
<html>
    <head>
         <script type="text/javascript" src="otherJSfile.js"></script>
    </head>
    <body>
    </body>
</html>

现在,如何获得
somefile.php

  • 会到达Apache服务器吗?它会通过重写脚本来实现吗
  • (或)

  • 它会直接得到文件吗
  • 我很清楚,HTML头部分加载的脚本文件正在攻击Apache服务器。我不确定通过PHP
    require\u once
    加载的文件是否正在攻击Apache服务器

    请帮助我。

    require\u once('somefile.php')
    将直接从文件系统获取
    somefile.php
    ,apache不参与加载它。配置变量将用于查找从何处加载它

    您只需查看apache日志文件就可以自己回答这个问题-您将不会看到对所包含文件的任何请求


    可以在
    require
    语句中使用
    http
    url(只要PHP是用相关的代码构建的),但是如果这样做,远程服务器可能会返回脚本的结果,而不是实际的代码(这可能是您试图实现的,也可能不是您想要实现的)

    谢谢Paul,我在apache访问日志中查看过,此处未列出通过require_once包含的文件。但是,我仍然面临通过require_一次包含文件的问题。我会查我的代码然后回来。请让我知道,如果有任何自定义方法适用于扩展require_once方法来重写文件路径?啊,我明白了-您想在mod_rewrite处理的路径上包含文件吗?没有充分的理由需要这样做。只需像平常一样包含文件。