как спрятать index.php

mp12390 nginx-forum at nginx.us
Thu Apr 18 14:59:22 UTC 2013


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

Есть контент сайта вся логика которого реализуется средствами index.php.
Поэтому хочется спрятать все "внутренности" и не показать в строке браузера
что сайт написан на php. Пришла в голову такая конфигурация:

    location / {
        index index.php;
        try_files $uri $uri/ /index.php?$args;
    }

    location ~* \.php$ { rewrite ^ http://site.local; }

    location = /index.php {  fastcgi_pass  unix:/tmp/php.sock; ... }

Все бы хорошо, но если в строке браузера вбить http://site.local/index.php,
то так и останется висеть index.php, а хочется сделать редирект на
http://site.local чтобы не "палить" php.

Собственно и возникает вопрос как спрятать его?

Немного поразмыслив пришло такое изменение:

       location = /index.php {
                internal;
                fastcgi_pass unix:/tmp/php.sock;
                ...
                error_page 404 http://site.local;
       }

По тестам работает, но может будут более оптимизированные методы?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,238484,238484#msg-238484



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