ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: nginx+php-fpm+404



error_page 404 =200 /MISSING_PAGE;

                location                        /MISSING_PAGE {
                        internal;
rewrite ^/(.*) $ / last;
                        break;
                }

On 21.05.2008, at 8:37, Денис wrote:

Здравствуйте.

возможно было, но...
поднял связку php5.26+nginx по чудной документации 
http://blog.sonnoprofondo.com/2008/04/30/nginx-php-php-fpm-on-debian-etch-40/

все работает кроме "виртуальных" файлов и директорий

раньше решалось с помощью .htaccess
RewriteEngine on
RewriteCond  %{REQUEST_FILENAME} !-f
RewriteCond  %{REQUEST_FILENAME} !-d
RewriteRule ^(.*[^/^\.html])$ %{REQUEST_URI}/ [R,L]
RewriteCond  %{REQUEST_FILENAME} !-f
RewriteCond  %{REQUEST_FILENAME} !-d
RewriteRule .* /index.php

все несуществующие директории и файлы обрабатывались внутренним контроллером

Сейчас если запрашивать реальный файл или директорию все работает, если "виртуальную", то славливаю No input file specified.

666.666.666.666 - - [21/May/2008:11:27:18 +0700] "GET /news/ HTTP/ 1.0" 404 25 "-" "Opera/9.27 (Windows NT 6.0; U; ru)" "domain.ru" 0.005 "-" "-" "OK" "-" 666.666.666.666 - - [21/May/2008:11:23:32 +0700] "GET /news/ news_14907.html HTTP/1.0" 404 25 "http://domain.ru/"; "Opera/9.27 (Windows NT 6.0; U; ru)" "domain.ru" 0.000 "-" "-" "OK" "-"

конфиг
server {
listen  domain.ru;
server_name domain.ru;
access_log  /var/log/nginx/access.log gzip;
error_log  /var/log/nginx/error.log;
error_page   502 503 504 509 /lib/500.html;
error_page 404 =200 /index.php;
index index.php index.html;

location ^~ /lib/500.html {
root         /var/www/html/;
expires      10d;
}

location / {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
fastcgi_param  QUERY_STRING     $query_string;
fastcgi_param  REQUEST_METHOD   $request_method;
fastcgi_param  CONTENT_TYPE     $content_type;
fastcgi_param  CONTENT_LENGTH   $content_length;
fastcgi_param   PATH_TRANSLATED /var/www/html$fastcgi_script_name;
fastcgi_param   REDIRECT_STATUS 200;
fastcgi_param  REMOTE_PORT        $remote_port;
fastcgi_param  SERVER_ADDR        $server_addr;
fastcgi_param  SERVER_PORT        $server_port;
fastcgi_param  SERVER_NAME        $server_name;
fastcgi_param  REMOTE_ADDR        $remote_addr;
fastcgi_param  CONTENT_LENGTH     $content_length;
fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
fastcgi_param  REQUEST_URI        $request_uri;
fastcgi_param  DOCUMENT_URI       $document_uri;
fastcgi_param  DOCUMENT_ROOT      $document_root;
fastcgi_param  SERVER_PROTOCOL    $server_protocol;
include fastcgi_params;
}

location ~* ^.+\.(jpg|jpeg|gif|zip|rar|wmv|avi|css|js|swf|png)$ {
root         /var/home/domain.ru/html/;
}

}


в какую сторону покопать?




--
Denis V. (ALFA-RIPE)




 




Copyright © Lexa Software, 1996-2009.