Php nginx,如何为所有静态文件提供服务并将所有其他流量转发给fastcgi
我想直接为所有现存的文件提供服务(除了.php文件) 其余的请求(不仅仅是.php)将它们转发到fastcgi服务器 我可以通过以下方式将所有.php文件重定向到fastcgi:Php nginx,如何为所有静态文件提供服务并将所有其他流量转发给fastcgi,php,nginx,fastcgi,Php,Nginx,Fastcgi,我想直接为所有现存的文件提供服务(除了.php文件) 其余的请求(不仅仅是.php)将它们转发到fastcgi服务器 我可以通过以下方式将所有.php文件重定向到fastcgi: location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; } 并为其他静态文件提供: location / { } 但我想首先提供“所有存在且不以.php结尾的静态文件” 然后,向fastcgi提供“所有其他请
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
}
并为其他静态文件提供:
location / {
}
但我想首先提供“所有存在且不以.php结尾的静态文件”
然后,向fastcgi提供“所有其他请求”(不必以php结尾)
有什么想法可以实现吗
谢谢 你可以用它
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
// other CGI parameters
}
确保您知道常见的。不工作,我需要区分.php文件仍然不工作,index.php工作正常,现有文件(如.jpg)工作正常,但与任何现有文件不匹配的路由没有转发到fastcgi:404 not Found,似乎已用:location/{try_files$uri$uri//index.php?$args;}我不确定您是否使用的是front controller,因此尝试使其更通用。更新了答案。谢谢!耐心是一种美德:-)