Я пытаюсь переписать некоторые ссылки с помощью nginx, но файлы php загружаются вместо выполнения, если я запускаю файл php в браузере, он работает, поэтому проблем с fastcgi нет.
Я уже задавал здесь другие похожие вопросы, но мне ничего не помогло.
Мой файл 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;
}
Мне нужно переписать contact.php в / contact, но он не работает.
Я также пробовал:
location /contact {
rewrite ^/contact?$ /contact.php last;
}
location /contact {
rewrite ^/contact$ /contact.php last;
}
location /contact {
rewrite ^/contact?$ /contact.php break;
}
Ничего не работает. У меня не было этой проблемы в прошлом ...
Нашел проблему, просто заменил:
location /contact {
rewrite ^/contact?$ /contact.php last;
}
с участием
rewrite ^/contact? /contact.php last;