如何为api和前端配置nginx
请告诉我如何配置nginx,以便它提供文件服务 /var/www/public/frontend/index.html 对于所有请求,除了 /api/ 对于api,应给出 /var/www/public/index.php 试用如何为api和前端配置nginx,nginx,Nginx,请告诉我如何配置nginx,以便它提供文件服务 /var/www/public/frontend/index.html 对于所有请求,除了 /api/ 对于api,应给出 /var/www/public/index.php 试用 server { listen 80; server_name localhost; root /var/www/public; location /api/ { try_files $uri $uri/ /index.
server {
listen 80;
server_name localhost;
root /var/www/public;
location /api/ {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
}
}
server {
listen 80;
server_name localhost;
root /var/www/public/frontend;
location / {
try_files $uri $uri/ /index.html?$query_string;
}
}
及
但它不起作用。不是一个就是另一个。我知道创建子域是可能的,但目前我需要不使用它,第一个子域肯定不起作用,在这种情况下,您应该只使用一个
服务器
块。对于第二个,你也可以
位置/{
try_files/frontend$uri/frontend$uri//frontend/index.html?$query_string;
}
或
位置/{
root/var/www/public/frontend;
尝试\u文件$uri$uri//index.html?$query\u字符串;
}
server {
listen 80;
server_name localhost;
root /var/www/public;
location /api/ {
try_files $uri $uri/ /index.php?$query_string;
}
location / {
try_files $uri $uri/ /frontend/index.html?$query_string;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
}
}