tôi bao gồm CSS của tôi với đoạn mã sau:Symfony2 và Assetic - cssrewrite hoạt động hoàn hảo cho dev, không cho sản
{% stylesheets 'bundles/majorproductionssewingdivasite/css/*.css' filter='cssrewrite' %}
<link rel="stylesheet" type="text/css" href="{{ asset_url }}" />
{% endstylesheets %}
Trong dev, điều này cho phép tôi sử dụng sprites hình ảnh mà không cần bất kỳ vấn đề. Kết quả là URL để sprite của tôi là:
http://localhost/diva/web/bundles/majorproductionssewingdivasite/images/diva-sprites.jpg
Nhưng, trong sản, nó được ánh xạ tới:
http://localhost/diva/bundles/majorproductionssewingdivasite/images/diva-sprites.jpg
Thông báo thiếu thư mục web.
Mã được tạo trong tệp CSS là đúng, và tất cả CSS của tôi (cả khối chữ 'dev' và khối kết xuất thừa được hoàn thành) đều ở số web/css/
. Bất kỳ ý tưởng nào về lý do tại sao môi trường sản xuất bỏ qua thư mục web?
EDIT: những gì là kỳ lạ là cả hai dev và sản sinh ra cùng một URL trong CSS bản thân:
url('../../bundles/majorproductionssewingdivasite/images/diva-sprites.jpg')
Đây là câu trả lời đúng. Nhưng bạn có thể cần phải xóa bộ nhớ cache trước hết 'php app/console cache: clear --env = prod'. Dumping các tập tin tài sản trước khi làm sạch bộ nhớ cache đã không giải quyết được vấn đề cho tôi. Tôi là một chút mới để Symfony2, nhưng từ những gì tôi đã chỉ có kinh nghiệm, có vẻ như để đổ các tập tin tài sản từ bộ nhớ cache, không phải từ các tập tin vật lý. – cartbeforehorse
OMG làm thế nào tôi có thể bỏ lỡ này @ _ @ – GusDeCooL