Há problemas quando você usa as diretivas try_files
e alias
juntas.
Como solução alternativa, remova alias
e use root
e rewrite
.
Quando tento usar try_files
com ?$args
at location /api/v1
, recebo o erro 404. Sem ele, ele está funcionando corretamente. Alguma idéia?
Configuração Nginx
server {
listen 80;
server_name domain.com;
index index.php;
root /home/ec2-user/dev.domain.com.br/webroot/default/web;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
location /api/v1 {
alias /home/ec2-user/dev.domain.com/webroot/apiv1/web;
# Works, but don't parse args.
try_files $uri /api/v1/index.php; ## << WORKING
# Do not work. Error 404.
try_files $uri /api/v1/index.php?$args; ## << ERROR
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}
}
Há problemas quando você usa as diretivas try_files
e alias
juntas.
Como solução alternativa, remova alias
e use root
e rewrite
.