location /forum {
root /var/www/dev.example.com;
try_files $uri $uri/ /forum/index.php$is_args$args;
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
fastcgi_buffering off;
header('X-Accel-Buffering: no');
map $http_host $domain_lang {
~(?i)^(?>www\.|)([a-z]+)\.site\.ru$ $1;
}
server {
location @php {
fastcgi_param DOMAIN_LANG $domain_lang;
В качестве ключа можно использовать текст, переменные и их комбинации. Запросы с пустым значением ключа не учитываются.
limit_req_zone $key zone=bot:10m rate=1r/s;
$key_
которая будет возвращать пустую строку в качестве ключа для limit_req_zone если в $args что-то есть.map $args $key_ {
"" $key;
default "";
}
limit_req_zone $key_ zone=bot:10m rate=1r/s;
server {
listen 127.0.0.1:80;
server_name localhost;
root /home/localhost/public_html/public;
index index.php;
log_not_found off;
access_log logs/localhost-access.log main;
charset utf-8;
location / {
try_files $uri $uri/ @php;
}
location @php {
rewrite ^/(.*) /index.php?url=$1;
}
location ~ /\. { deny all; }
location = /favicon.ico { }
location = /robots.txt { }
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9071;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Директивы наследуются с предыдущего уровня при условии, что на данном уровне не описаны свои директивы add_header.
add_header Strict-Transport-Security
, так что директивы с предыдущего уровня не наследуются. server {
listen 80;
server_name subdomain.domain.com;
location / {
proxy_pass http://domain.com/subdomain/;
}
}
if ($request_uri ~ "/redir\?domain=mybot&start=\d+") {
return 301 tg://resolve?$args;
}