несуществующие .php файлы

Victor Sudakov vas at mpeks.tomsk.su
Wed Dec 3 11:35:55 UTC 2014


Коллеги,

В нижеприведенной конфигурации как правильно сделать, чтобы при
обращении к несуществующим файлам .php выводилось не сообщение "No
input file specified" от php-fpm, а тоже бы происходило
перенаправление на index.php ?

Вообще в идеале хотелось бы сделать так, чтобы главный файл
index.php получал себе все запросы, кроме запросов к статическому контенту.

Может надо вообще избавиться от rewrite и ставить fastcgi_pass сразу в
"location /"? 

Заранее спасибо за подсказку.


    server {
        location / {
            rewrite ^(.*)$ /index.php?$1 ;
            root   /home/web/public ;
            index  index.php index.html index.htm;
        }

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            root   /home/web/public ;
            fastcgi_pass   unix:/var/run/php-fpm.socket;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /home/web/public$fastcgi_script_name;
            include        fastcgi_params;
        }
	# static content
        location ~* ^.+\.(js|ico|gif|jpg|png|swf|flv)$ {
            root   /home/web/public ;
	    expires 3d;
        }
    }

-- 
Victor Sudakov,  VAS4-RIPE, VAS47-RIPN
sip:sudakov at sibptus.tomsk.ru



Подробная информация о списке рассылки nginx-ru