Не могу че-то разобраться с location, чтобы все работало правильно. Исходные данные:ubuntu 20.04, nginx 1.18, php 7.4, сайт на joomla 3.6-3.8. В общем проблема в не работающих(у меня) директивах location в серверных конфигах вот мой конфиг
server {
listen 80;
listen [::]:80;
server_name mysite www.mysite;
root /var/www/html/mysite;
index index.php index.html index.htm index.nginx-debian.html;
location / {
# try_files $uri $uri/ /index.php;
try_files $uri $uri/ /index.php?$args;
}
location ~* \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
}
location ~* /\. {
deny all;
}
location = /robots.txt {
allow all;
}
# deny running scripts inside writable directories
location ^~ /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
}
# caching of files
location ~* \.(ico|pdf|flv)$ {
expires 1m;
}
location ~* \.(js|css|png|jpg|jpeg|gif|swf|xml|txt)$ {
expires 14d;
}
# add global x-content-type-options header
add_header X-Content-Type-Options nosniff;
location = /configuration.php {
deny all;
}
location ^~ /(components|includes|administrator/includes|language|libraries|modules|plugins|templates|cli)/.*\.(php|ini|xml)$ {
deny all;
}
}
По документации последний в конфиге location должен переопределять в указанных директориях файлы php на параметры этого location. Но почему-то не переопределяет. Работает последний location, если отключаю вот этот
location ~* \.php$ {
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include snippets/fastcgi-php.conf;
# deny running scripts inside writable directories
location ^~ /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ {
return 403;
}