фреймфорк + отдельные php-файлы
VovansystemS
vovansystems at gmail.com
Mon Mar 18 10:50:54 UTC 2013
Добрый день.
Подскажите как грамотнее написать конфиг для сайта, который использует
фреймворк и несколько отдельно лежащих php сценариев.
иерархия примерно такая:
/application/
/system/
/modules/
/static/
/upload/
/customphp1/
/customphp2/
..
/customphp30/
index.php
где customphp - папка с произвольным названием внутри которой
находятся php файлы, которые можно запускать при прямом обращении к
ним из браузера. таких папок может быть достаточно много.
Пока планирую так: для самого фреймворка стандартно:
location / {
try_files $uri $uri/ @drupal;
}
location @drupal {
fastcgi_pass ...;
fastcgi_param SCRIPT_FILENAME /path/to/index.php;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param QUERY_STRING q=$uri&$args;
... прочие fastcgi_param
}
Но при обращении к файлам /somedir/not-to-be-viewed.php - nginx будет
отдавать их прямо в браузер..
Можно перечислить папки фреймворка и закрыть к ним доступ например так:
location ~ ^/(application|system|modules)/ {
deny all;
}
Запуск php из папок со статикой тоже запрещаем:
location ~* ^/(?:uploads|static)/.*\.php$ {
deny all;
}
А вот как правильно реализовать возможность запускать отдельно
лежащаие php сценарии - перечислять вручную таким образом?
location ~* /customphp1/(?:.*)\.php {}
Как лучше сделать и что поправить?
Подробная информация о списке рассылки nginx-ru