Re: Трудности с организацией поддоменов и точкой входа для php-скрипта

Валентин Бартенев ne на vbart.ru
Вт Авг 16 18:25:29 UTC 2011


On Tuesday 16 August 2011 20:09:14 J3FF3 wrote:
> Может быть чуть не так объяснил я,
> просто нужно запретить вызов всех
> файлов напрямую, которые лежат дальше
> index.php в подпапках.

Я искренне не понимаю, зачем вы их туда положили? Сначала вы кладете файлы и 
каталоги в public веб-сервера, а затем пытаетесь запретить к ним доступ, не 
находите это странным? Почему бы их просто не убрать оттуда, или не запретить 
доступ совсем, ко всей директории? Вы же сами себе проблемы создаете.

Положите ваш index.php и всё, к чему не должно быть доступа, за пределы 
видимости веб-сервера и будет вам счастье.

Например, у вас сейчас есть директория: /home/www/site.com/  так создайте в 
ней директорию public и положите в нее только то, к чему хотите, чтобы был 
доступ, всякие robots.txt и прочие.

А ваш index.php и все связанные с ним файлы, к которым не должно быть прямого 
доступа, оставьте в /home/www/site.com/.

вот пример, можете модифицировать под ваши потребности:

server {
        listen 80;
        server_name     site.com
                        a1.site.com
                        a2.site.com;

        root /home/www/site.com/public;
        index index.php;
 
        location / {
                try_files $uri /index.php?r=$uri&$args;
        }

        location /index.php {
                root /home/www/site.com;
                include fastcgi_params;
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;      
        }
}

Хотя я бы даже воспользовался именованным location,
типа @php вместо /index.php , так было бы еще правильнее.

--
Валентин Бартенев
http://vbart.ru/


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