2

AvalancheImagineBundleを使用しようとしていますが、本番環境でどのように機能するのかわかりません。

デフォルトの cache_prefix は media/cache です。キャッシュされたすべての画像は myProject/web/media/cache ディレクトリにあり、Symfony2 のルートでもあります:

Name                Method   Scheme Host Path
_imagine_thumbnail  GET      ANY    ANY  /uploads/cache/{filter}/{path}

この URL " http://my-project.fr/app.php/ " でテストを行うと、バンドルは正常に動作します。

  1. 初めて、/app.php/media/cache/thumbnail/profile.jpg 画像を表示しようとします。Symfony2 ルートがキャッチされます。バンドルはトリミングされた画像を返し、それをキャッシュします。
  2. 2 回目は、ルートが再びキャッチされ、バンドルによってキャッシュされた画像 /media/cache/ にリダイレクトされます。

つまり、1 回目は /app.php/media/cache -> bundle、2 回目は /media/cache -> assets

しかし、実稼働環境では app.php が欠落しているため、バンドルはどのように違いを生むことができますか?

4

2 に答える 2

1

私は lighttpd に詳しくないので、どこを見るべきかを示すことしかできません。

「切り替え」は を介し​​て行われ.htaccessます。関連する 2 つの行と説明を次に示します。

# If request is an existing file, then it's simply returned
RewriteCond %{REQUEST_FILENAME} !-f

# Else the request is pushed to the app.php front controller
RewriteRule ^(.*)$ app.php/$1 [QSA,L]

この設定の最初の部分が欠けていると思います。

PS 注:app.php実際に欠落しているわけではなく、単に「隠されている」だけです。

于 2013-04-29T05:48:00.970 に答える
1

この-fオプションは lighttpd には存在しないため、apache2 に切り替えるとすべてがうまく機能します。

于 2014-03-09T23:17:33.680 に答える