Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在“网络”选项卡中查看php文件请求_Php - Fatal编程技术网

无法在“网络”选项卡中查看php文件请求

无法在“网络”选项卡中查看php文件请求,php,Php,我开发了自己的mvc框架,但php文件请求有问题。 My framework回避所有由.htaccess提出的具有以下内容的请求: RewriteEngine On RewriteBase /MVC/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(.+)$ index.php?url=$1 [Q

我开发了自己的mvc框架,但php文件请求有问题。 My framework回避所有由.htaccess提出的具有以下内容的请求:

RewriteEngine On

RewriteBase /MVC/

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
因此,在我的路由器中,我按如下方式拆分url:

$url = isset($_GET['url']) ? $_GET['url'] : null;
$url = rtrim($url, '/');
$url = filter_var($url, FILTER_SANITIZE_URL);
$this->_url = explode('/', $url);

if (file_exists($this->_url)) 
{
     require $this->_url;
     new $this->_url[0]();
     return true; //controller found
}
并以这种方式加载控制器,问题在于chrome或 任何其他浏览器我看不到文件的任何请求,但已正确加载

这对我来说是个问题,因为我无法检查文件中是否有错误,或者是否需要 转储变量我无法在浏览器的控制台中直接看到内容

有机会解决这个问题吗

示例:

如果我将此请求url放在浏览器中:

这将加载
user.php
文件控制器,我在网络控制台中得到:


现在控制器已加载,因为我可以看到网页(控制器用户在索引功能中加载视图),但我在网络选项卡中看不到它。

如果您选择了JS选项卡,请将其切换为全部


apache重写会获取URL并根据一组规则对其进行更改,然后服务于重写的资源,而不是最初访问的文件。但是,这发生在服务器端,对客户端不可见,因此客户端无法访问此信息

客户端看到这一点的一种方法是服务器重定向而不是重写,这实际上将显示为地址栏的可见更改。然而,重定向可能会破坏许多依赖访问的URL来提供内容的东西。所以总的来说,不,你不能用你的浏览器来找出你的服务器所做的重写,如果你能够做到这一点,这也是一个很大的安全问题


我建议您按照中的说明设置apache重写日志。此日志记录由apache自己完成,位于服务器端,是调试重写规则的推荐方法。

如果只是为了调试目的,您可以将
[QSA,L]
更改为
[R=301,QSA,L]
,以获得正确的重定向,而不是重写。@apokryfos不幸无法工作,无论如何感谢您的提示。我用更多细节和图片更新我的问题example@apokryfos这是一个难以置信的问题,我不知道为什么没有得到认真的回答。好吧,让我这么说。“重写”是服务器端的事情。客户端没有看到重写发生,并且会认为正在访问的实际文件就是地址栏中的文件。我建议重定向,因为这样你可以在网络选项卡中获得301响应状态,并使用新的URL而不是200状态。然而,正如@kcp所建议的,你需要看到所有的活动(并保存日志)才能看到这一切。还说对此做出响应的人没有提供“认真的响应”是没有帮助的。不幸的是,这并不能解决问题,我看到了更多的内容,但没有php文件。你只通过浏览器加载index.php文件,因为user.php文件是通过php脚本加载的。我上传了另一个图像,所以您可以看到没有php文件。不管怎么说,这段代码在其他框架中没有改变吗?您的浏览器只从服务器得到响应,而不是一个文件一个文件(PHP文件通过脚本包含到一个文件中)。有解决方案吗?我能做什么?