Как правильно организовать конфигурацию nginx?

Здравствуйте, помогите решить небольшую задачку по настройке nginx.

Вообщем есть такая структура php приложения
/home/WebRoot/ecommerce/
/home/WebRoot/ecommerce/domains
/home/WebRoot/ecommerce/domains/example.com/www - статика
/home/WebRoot/ecommerce/bootstrap.php

Надо научить nginx искать статику и, если не найдено, отправлять все на bootstrap.php

Вот текущая конфигурация:
server {
    listen       80;
    server_name  example.com;
    charset utf-8;

    root /home/WebRoot/ecommerce/;    

    location / {
	    try_files /domains/example.com/www$uri /domains/example.com/www$uri/ /bootstrap.php?$args;
    }

    location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
    	access_log off;
   	#expires 1m;
    } 

    location ~ \.php$ {
	fastcgi_split_path_info ^(.+\.php)(/.+)$;
	fastcgi_pass	unix:/var/run/php5-fpm.sock;
	fastcgi_index	index.php;
	fastcgi_param 	APP_ENV local;
	fastcgi_param 	APP_DOMAIN example.com;
        fastcgi_param 	SCRIPT_FILENAME   $document_root$fastcgi_script_name;
        include        	fastcgi_params;
    }    
}


Но проблема в том, что nginx при запросе "/" срабатывает на первом же аргументе try_files и не передает все на /bootstrap.php$args

Подскажите пожалуйста как правильно организовать конфигурацию.
  • Вопрос задан
  • 2975 просмотров
Решения вопроса 1
BuriK666
@BuriK666 Куратор тега Nginx
Компьютерный псих
Добавьте
location = / {
        try_files /domains/example.com/www/index.html /bootstrap.php?$args;
    }

PS: у Вас два раза указан /domains/example.com/www$uri в try_files
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы