Eu encontrei o problema, acabei de substituir:
location /contact {
rewrite ^/contact?$ /contact.php last;
}
com
rewrite ^/contact? /contact.php last;
Eu estou tentando reescrever alguns links com nginx, mas arquivos php são baixados em vez de executar, se eu executar o arquivo php no navegador está funcionando, então não há problema fastcgi.
Eu já verifiquei outras questões similares aqui, mas nada me ajudou.
Meu arquivo nginx.conf
....
location / {
location ~* ^.+\.(jpeg|jpg|png|gif|bmp|ico|svg|css|js)$ {
expires max;
}
location ~ [^/]\.php(/|$) {
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass 127.0.0.1:9002;
fastcgi_index index.php;
include /etc/nginx/fastcgi_params;
}
}
location ~* "/\.(htaccess|htpasswd)$" {
deny all;
return 404;
}
location /contact {
rewrite ^/contact/?$ /contact.php last;
}
Eu preciso reescrever contact.php para / contact mas não está funcionando.
Eu também tentei:
location /contact {
rewrite ^/contact?$ /contact.php last;
}
location /contact {
rewrite ^/contact$ /contact.php last;
}
location /contact {
rewrite ^/contact?$ /contact.php break;
}
Nada funciona. Eu não tive esse problema é o passado ...
Eu encontrei o problema, acabei de substituir:
location /contact {
rewrite ^/contact?$ /contact.php last;
}
com
rewrite ^/contact? /contact.php last;