我正在使用Symfony 2.5.9,dev
env,
assetic:
use_controller: true
尝试将资产用于我的资源
{% javascripts '@MeMyBundle/Resources/public/js/my-script.js' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
我正在获取生成的链接
<script src="/js/60f6e00_my-script_1.js"></script>
但是NginX抱怨它不存在
404未找到
nginx的
nginx似乎甚至没有将请求转发给SF
这是我用于nginx的配置
root /data/www/symfony/web;
location / {
try_files $uri @pass_to_symfony_dev;
}
location ~ /app_dev.php/ {
try_files $uri @pass_to_symfony_dev;
}
location @pass_to_symfony {
rewrite ^ /app.php?$request_uri last;
}
location @pass_to_symfony_dev {
rewrite ^ /app_dev.php?$request_uri last;
}
location ~ ^/app(_dev)?\.php($|/) {
include fastcgi_params;
}
我不知道这是NginX问题还是SF问题。
所以问题是:为什么NginX会给我发送404?
答案 0 :(得分:0)
尝试遵循http://symfony.com/doc/current/cookbook/configuration/web_server_configuration.html#nginx中的规则。您生成的网址为SERVER_NAME/app_dev.php
? REQUEST_URI
而不是SERVER_NAME/app_dev.php/REQUEST_URI
,但您的上一条规则仅适用于提供app_dev.php
或app_dev.php/
的情况。
答案 1 :(得分:0)
我有同样的问题,放弃并做了以下事情:
{% set serverName = app.request.server.get('SERVER_NAME') %}
{% set serverPort = app.request.server.get('SERVER_PORT') %}
{% set serverAddress = serverName ~ ':' ~ serverPort %}
<link href="http://{{ serverAddress }}/css/app.css" rel="stylesheet">
Coupld可能也把协议放在那里,我不需要。