在网络选项卡中看不到php文件请求

时间:2016-08-09 13:35:28

标签: php

我开发了自己的mvc框架,但我遇到了php文件请求的问题。 我的框架破坏了具有此内容的.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 = 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或者网络选项卡中的问题 任何其他浏览器我都看不到该文件的任何请求,但它已正确加载。

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

有机会解决这个问题吗?

示例:

如果我将此请求网址放在浏览器中:http://localhost/MVC/user

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

enter image description here

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

2 个答案:

答案 0 :(得分:4)

您已选择JS标签,将其切换为全部。

Solution:

答案 1 :(得分:0)

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

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

我建议您按照http://httpd.apache.org/docs/current/mod/mod_rewrite.html上的说明设置apache重写日志。此日志记录由apache本身完成,位于服务器端,是调试重写规则的推荐方法。