Twig生成的URL太长,导致浏览器崩溃

时间:2013-01-29 12:14:58

标签: apache twig vhosts silex

我有一个非常奇怪的问题。

我正在通过VM开发基于Silex和Twig的localy。起初我这样访问它:192.168.56.2/pfsilex,一切正常。

我已经在我的主机文件中创建了一个vhost和相应的条目,我仍然可以访问我的网站并在页面之间导航,但在页面上几秒后浏览器就崩溃了(尝试使用Chrome,FF和IE )。

起初我以为它是某种脚本,所以我禁用了JavaScript。没有改变。从Apache检查error.log后,我有一些奇怪的条目:“请求URI太长”。考虑到我的URI真的很短,确实非常奇怪。 接下来要做的就是检查access.log,是的,URI太长了:

192.168.56.1 - - [28/Jan/2013:22:37:40 +0100] "GET /[type:protected]%20=%3E%200%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20[lineno:protected]%20=%3E%201%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20)%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20[1]%20=%3E%20Twig_Token%20Object%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20[value:protected]%20=%3E%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20[type:protected]%20=%3E%202%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20[lineno:protected]%20=%3E%207%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20)%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20[2]%20=%3E%20Twig_Token%20Object%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20(%20%20%20%20%20%20%20%20%20%20%20%20%20%20%" 414 540 "-" "-"

在这个URI中,我们可以注意到两次名为“Twig_Token”的参数,这让我觉得这是一个Twig问题,但由于它完全没有虚拟主机而工作,我有点迷失。 我没有将任何get参数传递给我的视图(至少看起来是这样,但我是Silex的新手),只返回模板时的参数。

我认为它不是直接来自树枝。

这是我的vhost:

<VirtualHost *:80>
        ServerName portfolio.dev
        DocumentRoot /var/www/pfsilex/
        <Directory /var/www/pfsilex/>
                Options -Indexes
                AllowOverride All
                Order Deny,Allow
                Allow from All
        </Directory>
</VirtualHost>

我的.htaccess:

<ifModule mod_rewrite.c>
    Options -MultiViews

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

我的主人:

192.168.56.2    portfolio.dev

1 个答案:

答案 0 :(得分:0)

这与Twig无关。

事实上,我有一条通用路由拦截“/”上提供的所有内容,以便从数据库加载页面。

但这意味着它也拦截了每个静态文件,当这个文件不存在时,该方法会抛出一个很大的堆栈跟踪。

发生的事情是我没有任何favicon.ico但是每个浏览器都尝试加载它。 Chrome网络控制台没有显示此资源加载,我可以使用显示它的Firefox进行调试。