当我尝试在location /api/v1使用带有?$args try_files ,我得到错误404,没有它,它正常工作。 任何想法?
Nginxconfiguration
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; } } }
当你一起使用try_files和alias指令时有问题 。
作为解决办法,删除alias并使用root并rewrite 。