Добрый вечер.
Как настроить nginx для удобного переключения между app.php и app_dev.php?
Пробовал делать для production
acme.com/... а для development
acme.com/app_dev.php/...
Столкнулся со следующей проблемой: в среде development не грузится статика, т.к. запросы идут на
acme.com/app_dev.php/foo.js
Можно сделать rewrite в location'е для статики, убирающий app_dev.php из адреса, но у меня не вышло :) Да и не уверен, что это лучший из вариантов.
Отдачу статики через контроллер в среде dev не могу из-за шрифтов, которые приходится копировать вручную в папку web/fonts (средствами symfony, я там понимаю, их не отдать, как другую статику).
Конфиг nginxroot /home/ivan/sites/acme.com/web;
location / {
try_files $uri /app.php$is_args$args;
}
location ~* \.(?:jp?g|gif|png|ico|svg|css|js|swf|zip|tar|tgz|gz|rar|bz2|doc|docx|xls|xlsx|ppt|pptx|exe|msi|txt|mp3|mp4|mkv|mpg|mov|fla|eot|otf|ttf|woff)$ {
expires 360d;
access_log off;
log_not_found on;
# пытался сделать тут костыль, но он не работает
# if ($request_uri ~ ^/(app|app_dev).php) {
# rewrite ^/(app|app_dev).php/$ /$1 last; break;
# }
try_files $uri =404;
}
location ~ ^/(app|app_dev|config)\.php(/|$) {
fastcgi_pass php-fpm-acme;
fastcgi_split_path_info ^(.+\.php)(.*)$;
set $fsn /app.php;
if (-f $document_root$fastcgi_script_name){
set $fsn $fastcgi_script_name;
}
include conf.d/fastcgi.conf;
fastcgi_param SERVER_ADMIN admin@$hostname;
}
location ~ /\. {
deny all;
access_log off;
log_not_found off;
}
Кто как вообще переключается между app.php и app_dev.php? Может dev на поддомен вешаете или еще как?