Как запретить отдачу файлов из location?
Max Ivanov
ivanov.maxim на gmail.com
Ср Янв 19 20:26:07 MSK 2011
Хочу сделать что-то вроде whitelist на файлы и при этом не отдавать на
php файлы которые существуют (мало ли что там есть).
Для этого надо запретить скачивание файлов в location если они есть и
корректно уходить на 404 если их нет.
location / {
error_page 404 = @drupal;
return 403; # <--- вот так не работает, не отрабатывает на @drupal никогда
}
location @drupal {
rewrite ^/(.*)$ /index.php?q=$1;
}
location =/index.php {
include /etc/nginx/settings/fastcgi.conf;
fastcgi_pass php_upstream1;
}
#Для ImageCache
location /sites/all/files/imagecache/ {
try_files $uri @drupal;
}
#разрешаем любые файлы из sites/all/files
location /sites/all/files/ {
}
#разрешаем js/css/png/ и проч отовсюду, т.к. они разрбросаны в разных модулях
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
}
Подробная информация о списке рассылки nginx-ru