Я запускаю Laravel для серверной части и AngularJS для внешнего интерфейса. Моя иерархия приложений
/application
/app
/bootstrap
/vendor
/public
/api
index.php <-- This is the Laravel "public" index
index.html
bootstrap.js
Таким образом, папка public
по умолчанию используется для внешнего интерфейса AngularJS, а папка /public/api
используется для Laravel.
Я не могу понять, как написать конфиг NGINX! Это то, что у меня есть до сих пор
server {
listen 80;
root PATH_TO_PUBLIC;
index index.php index.html index.htm;
server_name mysite.com;
# AnuglarJS UI Front /index.html
location / {
try_files $uri $uri/
}
# Laravel Back-end /api/index.php
location /api/ {
try_files $uri $uri/ /index.php$is_args$args;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# pass the PHP scripts to FastCGI server listening on the php-fpm socket
location ~ \.php$ {
try_files $uri / =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Единственная работающая страница Laravel — /api/index.php
. Даже что-то вроде /api/index.php/my-resource
тоже не работает.
Изменить
Когда я посещаю /api/index.php
, Laravel включается и работает. Когда я захожу на любую другую страницу (например, /api/sessions
или /api/index.php/sessions
), загружается домашняя страница /index.html
.