Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Задача:

отдавать 404 ошибку на все php файлы кроме одного

server {

server_name sitename.tld www.sitename.tld;

charset off;

index index.php;

disable_symlinks if_not_owner from=$root_path;

include /etc/nginx/vhosts-includes/*.conf;

include /etc/nginx/vhosts-resources/sitename.tld/*.conf;

access_log /var/www/httpd-logs/sitename.tld.access.log;

error_log /var/www/httpd-logs/sitename.tld.error.log notice;

ssi on;

set $root_path /var/www/username/data/www/sitename.tld ;

root $root_path;

listen ip:80;

gzip on;

gzip_comp_level 7;

gzip_disable "msie6";

gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;

expires 7d;

location / {

location ~ [^/]\.ph(p\d*|tml)$ {

try_files /does_not_exists @php;

}

}

location @php {

fastcgi_index index.php;

fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f [email protected]";

fastcgi_pass unix:/var/www/php-fpm/sitename.tld.sock;

fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;

try_files $uri =404;

include fastcgi_params;

    }

}

В /etc/nginx/vhosts-resources/sitename.tld/rule.conf должен быть конфиг, который выполняет задачу.

Этот код

location /dir/{

     deny all;

     return 404;

    }

    location /dir/foo.php {

     allow all;

    }

работает, но скачивается foo.php, а он должен обрабатываться php.

7 лет назад
N555
39 летРоссия
11 лет в сервисе
Был
6 дней назад