1

cssrewrite を使用すると、間違ったパスが取得されます。たとえば、URLでapp_dev.php または app.php を使用すると、mysite.com/site/app.php/login正常に機能します。ただし、使用mysite.com/site/loginすると機能しません。

CSS ファイルを表示すると、アクセス中に次のように表示されますmysite.com/site/app.php/login

 src: url('../../bundles/acmetest/font/fontawesome-webfont.eot?#iefix&v=3.2.1')

mysite.com/site/login を表示するときの正しいパスは次のとおりです。

 src: url('../bundles/acmetest/font/fontawesome-webfont.eot?#iefix&v=3.2.1')

これが私のhtaccessファイルです:

DirectoryIndex app.php
<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)/(.*)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]
    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{ENV:BASE}/$2 [R=301,L]
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]
    RewriteRule .? %{ENV:BASE}/app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /app.php/
    </IfModule>
</IfModule>

cssrewrite パスを正しく構成するためで/はなく、そのパスが であることを知るために運用環境を構成する方法はありますか?app.php/

これがアセット用の私の Twig 設定です。

{% block stylesheets %}
    {% stylesheets
        'bundles/acmetest/css/bootstrap.min.css'
        'bundles/acmetest/css/jquery-ui-1.10.3.custom.min.css'
        'bundles/acmetest/css/jquery.iphone.toggle.css'
        'bundles/acmetest/css/font-awesome.css'
        'bundles/acmetest/css/glyphicons.css'
        'bundles/acmetest/css/halflings.css'
        'bundles/acmetest/css/retina.min.css'
        'bundles/acmetest/css/style.css'
    filter='cssrewrite'
    %}
    <link rel="stylesheet" href="{{ asset_url }}" />
    {% endstylesheets %}
{% endblock %}
4

1 に答える 1

0

先に進む前に -この回答をよくお読みください ...


実際、今思いつく原因は 2 つあります。

最初に、cssrewrite フィルターは -syntax では機能しません@Bundle。(ドキュメント参照)

小枝テンプレートに次のようなスタイルシートを含める必要があります。

{% stylesheets 'bundles/my/css/style.css' filter='cssrewrite' %}
    <link rel="stylesheet" type="text/css" href="{{ asset_url }}" />
{% endstylesheets %}

さらに、本番用にアセットをダンプするには...

 app/console assetic:dump --env=prod

...適切な環境設定でダンプされていることを確認します。(参考

于 2013-09-04T08:31:06.750 に答える