0

本当に奇妙な問題があります。

私は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」という名前のパラメーターを2回確認できます。これにより、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
4

1 に答える 1

0

Twig とは何の関係もありませんでした。

実際、DB からページをロードするために、「/」で提供されるすべてをインターセプトする一般的なルートがありました。

しかし、これは、すべての静的ファイルもインターセプトしていたことを意味し、このファイルが存在しない場合、メソッドは大きなスタック トレースをスローします。

何が起こっていたかというと、私には favicon.ico がありませんでしたが、すべてのブラウザーがとにかくそれを読み込もうとしました。Chrome ネットワーク コンソールには、このリソースの読み込みが表示されません。表示される Firefox を使用してデバッグできました。

于 2013-05-16T15:47:54.480 に答える