Назад | Перейти на главную страницу

Nginx переписывает загрузку файла php вместо выполнения

Я пытаюсь переписать некоторые ссылки с помощью 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;