Phalcon и nginx – Framework запускает только indexController

Я использую Phalcon и Nginx, и у меня проблема. Когда я перехожу на http://myapp.dev/segmentation, Phalcon должен запустить SegmentationController и его метод indexAction (). Но вместо этого в Phalcon работает IndexController (контроллер по умолчанию для «/»). Я думаю, проблема связана с конфигурацией Nginx, потому что все работает отлично под Apache.

Вот моя конфигурация сайта Nginx:

server { listen 80; server_name myapp.dev; index index.php index.html index.htm; set $root_path '/var/www/myapp/public'; root $root_path; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { try_files $uri $uri/ =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } location ~* ^/(css|img|js|flv|swf|download)/(.+)$ { root $root_path; } location ~ /\.ht { deny all; } location /phpmyadmin { root /usr/share/; index index.php index.html index.htm; location ~ ^/phpmyadmin/(.+\.php)$ { try_files $uri $uri/ =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; include fastcgi_params; } location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ { root /usr/share/; } } } 

Используйте эту конфигурацию

 try_files $uri $uri/ @rewrite; location @rewrite { rewrite ^/(.*)$ /index.php?_url=/$1; } 

Рабочая конфигурация

Его проблема с директивой местоположения

Используйте эту конфигурацию.

 location / { root $root_path; index index.php index.html index.htm; # if file exists return it right away if (-f $request_filename) { break; } # otherwise rewrite it if (!-e $request_filename) { rewrite ^(.+)$ /index.php?_url=/$1 last; break; } 

Надеюсь это поможет!

Счастливое кодирование !!!