【发布时间】:2013-01-13 00:11:02
【问题描述】:
我遇到了一个非常奇怪的问题。
我正在通过 VM 在本地开发基于 Silex 和 Twig 的产品组合。起初我是这样访问它的:192.168.56.2/pfsilex,一切正常。
我已经在我的主机文件中创建了一个虚拟主机和相应的条目,我仍然可以访问我的网站并在页面之间导航,但是在页面上几秒钟后浏览器就会崩溃(尝试使用 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 的新手),只有返回模板时的参数。
我不认为它直接来自树枝。
这是我的虚拟主机:
<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
【问题讨论】:
-
生成上述url的代码是什么?
-
我不知道。我只是请求“/”,我让“/”方法执行 SQL 查询,然后将结果传递给视图,仅此而已。
-
您的问题没有足够的信息来提供帮助。对于初学者,您应该找到我询问的代码。通过比较你的 twig 文件和索引页面的 html 输出,你应该可以很容易地找到它。
-
我知道什么代码返回相应的视图。我还没有写过任何能生成那种 URL 的东西。
-
不过,还是有一些对它的引用。您是否按照我的建议检查了您的 html 输出?