Nginx не перенаправляет php файлы - PullRequest
2 голосов
/ 14 февраля 2011

Каждый файл передается в «index.php», но каждый php-файл не перенаправляется должным образом из-за fastcgi.Любой обходной путь?

location / {
    if ($request_filename ~* "index.php") {
        break;
    }

    rewrite ^/(.*)$ /index.php?page=$1 last;

    break;
}

location ~* \.php$ {
    include fastcgi_params;

    fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
    fastcgi_pass 127.0.0.1:9000;
}

Спасибо

1 Ответ

2 голосов
/ 15 апреля 2011
  1. Убедитесь, что корневой каталог для вашего исходного файла php: / usr / share / nginx / html / else, измените fastcgi_pass ..

Это рабочая конфигурация, которую я имею:

    location /media {
    if (-f $request_filename) {
             # filename exists, so serve it
        break;
    }

    if (-d $request_filename) {
             # directory exists, so service it
        break;
    }
    rewrite ^/(.*)$ /media/index.php?$1;
}

Он перенаправит все запросы, которые не существуют , и, как правило, вернет ошибку 404 в index.php

...