Nginx 301 Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚: Как Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚Ρ‹ Π½Π° Π²Π΅Π±-сСрвСрС NGINX πŸ”„

.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$

Бпасибо всСм, ΠΊΡ‚ΠΎ откликнулся. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π΄Π°Π½Π½ΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ. Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ с Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΎΡΡ‚Π°Π²Π»ΡΡŽ, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ пригодится.

Для настройки Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ с ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ слСдуСт ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΡ‚ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ статичСскиС Ρ„Π°ΠΉΠ»Ρ‹ (изобраТСния ΠΈ Ρ‚.ΠΏ.). Если ngnix, Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π² .htaccess Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ строчки Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ ngnix ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΌΠ΅Π½Π° (с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½ΡƒΠΆΠ΅Π½ Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚):

location /dir/ {
    return 301 https://domain.com$request_uri;
}

Π³Π΄Π΅:

  • /dir/ — ΠΏΠ°ΠΏΠΊΠ° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находятся изобраТСния (Π² Ρ‚ΠΎΠΌ числС Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ с Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ всС Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ΄ΠΏΠ°ΠΏΠΊΠΈ)
  • domain.com — Π΄ΠΎΠΌΠ΅Π½ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ΅Π½ Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚

По ΠΏΠΎΠ²ΠΎΠ΄Ρƒ использования rewrite ΠΈΠ»ΠΈ return. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ ΠΏΠΈΡˆΡƒΡ‚ Π½Π° просторах Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π°:

return ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ rewrite ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ rewrite Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ рСгулярного выраТСния β€” ^(. *)$ β€” ΠΈ создания ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ($1) , Ρ‡Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ эквивалСнтно встроСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $request_uri

Π― использовал ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ «return 301», благодаря ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΠ².

Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ ΠΈΠ»ΠΈ Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅

РСгистрация Ρ‡Π΅Ρ€Π΅Π· Google

РСгистрация Ρ‡Π΅Ρ€Π΅Π· Facebook

РСгистрация Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡ‡Ρ‚Ρƒ

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π±Π΅Π· рСгистрации

ΠŸΠΎΡ‡Ρ‚Π°

НСобходима, Π½ΠΎ Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ показываСтся

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π±Π΅Π· рСгистрации

ΠŸΠΎΡ‡Ρ‚Π°

НСобходима, Π½ΠΎ Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ показываСтся

НаТимая Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΡ‚Π²Π΅Ρ‚Β», Π²Ρ‹ ΡΠΎΠ³Π»Π°ΡˆΠ°Π΅Ρ‚Π΅ΡΡŒ с нашими ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ соглашСниСм, ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠΎΠΉ ΠΎ ΠΊΡƒΠΊΠΈ

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ngx_http_rewrite_module

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹
Β Β Β Β Β break
Β Β Β Β Β if
Β Β Β Β Β return
Β Β Β Β Β rewrite
Β Β Β Β Β rewrite_log
Β Β Β Β Β set
Β Β Β Β Β uninitialized_variable_warn
Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ngx_http_rewrite_module позволяСт ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ URI запроса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ PCRE, Π΄Π΅Π»Π°Ρ‚ΡŒ пСрСнаправлСния ΠΈ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ.

Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ break, if, return, rewrite ΠΈ set ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ порядкС:

  • ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ этого модуля, описанныС Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ server;
  • Π² Ρ†ΠΈΠΊΠ»Π΅:
    • ищСтся location ΠΏΠΎ URI запроса;
    • ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ этого модуля, описанныС Π² Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΌ location;
    • Ρ†ΠΈΠΊΠ» повторяСтся, Ссли URI запроса измСнялся, Π½ΠΎ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 10 Ρ€Π°Π·.
Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹
Бинтаксис: break;
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: server, location, if

Π—Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² модуля ngx_http_rewrite_module.

Если Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π° ΡƒΠΊΠ°Π·Π°Π½Π° Π²Π½ΡƒΡ‚Ρ€ΠΈ location, дальнСйшая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° запроса продолТаСтся Π² этом location.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

if ($slow) {
    limit_rate 10k;
    break;
}
Бинтаксис: if (условиС) { ... }
Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: server, location

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ΡΡ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ условиС. Если ΠΎΠ½ΠΎ истинно, Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ этого модуля ΠΈ запросу назначаСтся конфигурация, указанная Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹

if. ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² if Π½Π°ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ΡΡ с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π³ΠΎ уровня ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Π’ качСствС условия ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½Ρ‹:

  • имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ; Π»ΠΎΠΆΠ½Ρ‹ΠΌΠΈ значСниями ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΡΠ²Π»ΡΡŽΡ‚ΡΡ пустая строка ΠΈΠ»ΠΈ β€œ0”;
    Π”ΠΎ вСрсии 1.0.1 Π»ΠΎΠΆΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ‚Π°ΠΊΠΆΠ΅ являлась любая строка, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π°ΡΡΡ Π½Π° β€œ0”.
  • сравнСниС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ со строкой с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² β€œ=” ΠΈ β€œ!=”;
  • соотвСтствиС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ рСгистра символов — β€œ~” ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎΒ β€” β€œ~*”. Π’ рСгулярных выраТСниях ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ выдСлСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π·Π°Ρ‚Π΅ΠΌ доступны Π² Π²ΠΈΠ΄Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… $1..$9. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ β€œ!~” ΠΈ β€œ!~*”. Если Π² рСгулярном Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ символы β€œ
    }
    ” ΠΈΠ»ΠΈ β€œ;”, Ρ‚ΠΎ всё Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ слСдуСт Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.
  • ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сущСствования Ρ„Π°ΠΉΠ»Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² β€œ-f” ΠΈ β€œ!-f”;
  • ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сущСствования ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² β€œ-d” ΠΈ β€œ!-d”;
  • ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сущСствования Ρ„Π°ΠΉΠ»Π°, ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° ΠΈΠ»ΠΈ символичСской ссылки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² β€œ-e” ΠΈ β€œ!-e”;
  • ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° исполняСмости Ρ„Π°ΠΉΠ»Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² β€œ-x” ΠΈ β€œ!-x”. ;]+)(?:;|$)») { set $id $1; } if ($request_method = POST) { return 405; } if ($slow) { limit_rate 10k; } if ($invalid_referer) { return 403; }
    Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ встроСнной ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ $invalid_referer задаётся Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²ΠΎΠΉ valid_referers.
    Бинтаксис: return ΠΊΠΎΠ΄ [тСкст];
    return ΠΊΠΎΠ΄ URL;
    return URL;
    Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
    ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: server, location, if

    Π—Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄. НСстандартный ΠΊΠΎΠ΄ 444 Π·Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ соСдинСниС Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΡ‚Π²Π΅Ρ‚Π°.

    Начиная с вСрсии 0.8.42 ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π΄Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ URL пСрСнаправлСния (для ΠΊΠΎΠ΄ΠΎΠ² 301, 302, 303, 307 ΠΈ 308) Π»ΠΈΠ±ΠΎ

    тСкст Ρ‚Π΅Π»Π° ΠΎΡ‚Π²Π΅Ρ‚Π° (для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΎΠ²). Π’ тСкстС Ρ‚Π΅Π»Π° ΠΎΡ‚Π²Π΅Ρ‚Π° ΠΈ URL пСрСнаправлСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. Как частный случай, URL пСрСнаправлСния ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½ ΠΊΠ°ΠΊ URI, Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ сСрвСра, ΠΏΡ€ΠΈ этом ΠΏΠΎΠ»Π½Ρ‹ΠΉ URL пСрСнаправлСния формируСтся согласно схСмС запроса ($scheme) ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π°ΠΌ server_name_in_redirect ΠΈ port_in_redirect.

    ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² качСствС СдинствСнного ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ URL для Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎ пСрСнаправлСния с ΠΊΠΎΠ΄ΠΎΠΌ 302. Π’Π°ΠΊΠΎΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ со строк β€œhttp://”, β€œhttps://” ΠΈΠ»ΠΈ β€œ$scheme”. Π’ URL ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅.

    Π”ΠΎ вСрсии 0.7.51 ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ΄Ρ‹: 204, 400, 402Β β€” 406, 408, 410, 411, 413, 416 ΠΈ 500Β β€” 504.
    Π”ΠΎ вСрсий 1.1.16 ΠΈ 1.0.13 ΠΊΠΎΠ΄ 307 Π½Π΅ обрабатывался ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅.
    Π”ΠΎ вСрсии 1.13.0 ΠΊΠΎΠ΄ 308 Π½Π΅ обрабатывался ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅.

    Π‘ΠΌ. Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρƒ error_page.

    Бинтаксис: rewrite regex Π·Π°ΠΌΠ΅Π½Π° [Ρ„Π»Π°Π³];
    Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
    ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: server, location, if

    Если ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ соотвСтствуСт URI запроса, URI измСняСтся Π² соотвСтствии со строкой Π·Π°ΠΌΠ΅Π½Ρ‹. Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹

    rewrite Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π² порядкС ΠΈΡ… слСдования Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π»Π°Π³ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ². Если строка Π·Π°ΠΌΠ΅Π½Ρ‹ начинаСтся с β€œhttp://”, β€œhttps://” ΠΈΠ»ΠΈ β€œ$scheme”, Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ возвращаСтся ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅.

    ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ„Π»Π°Π³ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ·:

    last
    Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² модуля ngx_http_rewrite_module, послС Ρ‡Π΅Π³ΠΎ ищСтся Π½ΠΎΠ²Ρ‹ΠΉ location, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½ΠΎΠΌΡƒ URI;
    break
    Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² модуля ngx_http_rewrite_module Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Π΅ break;
    redirect
    Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ с ΠΊΠΎΠ΄ΠΎΠΌ 302; ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Ссли Π·Π°ΠΌΠ΅Π½ΡΡŽΡ‰Π°Ρ строка Π½Π΅ начинаСтся с β€œ
    http://
    ”, β€œhttps://” ΠΈΠ»ΠΈ β€œ$scheme”;
    permanent
    Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ постоянноС ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ с ΠΊΠΎΠ΄ΠΎΠΌ 301.

    ΠŸΠΎΠ»Π½Ρ‹ΠΉ URL ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ формируСтся согласно схСмС запроса ($scheme) ΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² server_name_in_redirect ΠΈ port_in_redirect. /users/(.*)$ /show?user=$1? last;

    Если Π² рСгулярном Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ символы β€œ}” ΠΈΠ»ΠΈ β€œ;”, Ρ‚ΠΎ всё Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ слСдуСт Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ ΠΈΠ»ΠΈ Π΄Π²ΠΎΠΉΠ½Ρ‹Π΅ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ.

    Бинтаксис: rewrite_log on | off;
    Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
    rewrite_log off;
    ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: http, server, location, if

    Π Π°Π·Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΈΠ»ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² error_log Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ notice Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ² модуля ngx_http_rewrite_module.

    Бинтаксис: set $пСрСмСнная Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅;
    Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅: β€”
    ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: server, location, if

    УстанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π’ качСствС значСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ тСкст, ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈ ΠΈΡ… ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ.

    Бинтаксис: uninitialized_variable_warn on | off;
    Π£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΠ΅:
    uninitialized_variable_warn on;
    ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚: http, server, location, if

    ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π»ΠΎΠ³ прСдупрСТдСния ΠΎ Π½Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ….

    Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ устройство

    Π”ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ модуля ngx_http_rewrite_module ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π½Π° стадии ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ инструкции, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Π²ΠΎ врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ запроса. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ прСдставляСт ΠΈΠ· сСбя ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΡΡ‚Π΅ΠΊΠΎΠ²ΡƒΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ. (/download/.*)/media/(.*)\..*$ $1/mp3/$2.mp3 break;

    Π’ΠΎΠ³Π΄Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ инструкции Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

    ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° рСгулярного выраТСния
    ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ $1
    ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ "/mp3/"
    ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ $2
    ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ".mp3"
    Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ рСгулярного выраТСния
    Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ всСго ΠΊΠΎΠ΄Π°
    

    Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ NGINX 301 Redirect

    NGINX β€” ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ инструмСнт Π²Π΅Π±-сСрвСра для балансировки потрСбностСй ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния ΠΈΠ»ΠΈ Π²Π΅Π±-прилоТСния. Π•Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΠΎΡ‡Ρ‚ΠΈ 42,2% всСх извСстных Π²Π΅Π±-сайтов ΠΈ извСстных Π²Π΅Π±-сСрвСров, Ρ‡ΡƒΡ‚ΡŒ уступая Apache, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ 43,3% всСх Π²Π΅Π±-сайтов ΠΏΠΎ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΡŽ Π½Π° 2019 Π³ΠΎΠ΄. ИзлишнС Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это популярноС ΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ.

    NGINX 301 ΠŸΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡ β€” это ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ способ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ пСрСнаправлСния адрСсов Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π’Π»Π°Π΄Π΅Π»ΡŒΡ†Π°ΠΌ Π²Π΅Π±-сайтов ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ это ΠΏΡ€ΠΈ смСнС Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² ΠΈΠ»ΠΈ пСрСупорядочСнии ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π½Π° своСм Π²Π΅Π±-сайтС.

    Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ выполняСтся это ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅? Π”Π°Π²Π°ΠΉΡ‚Π΅ углубимся Π² Ρ‚ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ NGINX 301 шаг Π·Π° шагом.

    Бвязанный: ПолноС руководство для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΉ страницС Google

    Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ NGINX 301?

    NGINX β€” это Ρ‚ΠΈΠΏ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния с ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ исходным ΠΊΠΎΠ΄ΠΎΠΌ для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ, балансировки Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ проксирования ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ NGINX разрабатывался ΠΊΠ°ΠΊ Π²Π΅Π±-сСрвСр для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Помимо возмоТностСй HTTP-сСрвСра NGINX, Π΅Π³ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² качСствС прокси-сСрвСра для элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² качСствС ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ прокси-сСрвСра ΠΈ балансировщика Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² сСрвСров.

    NGINX 301 Redirect β€” это Ρ„ΠΎΡ€ΠΌΠ° пСрСнаправлСния HTTP. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ HTTP, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΌΠ΅Π½ ΠΈΠ»ΠΈ адрСс Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π΄ΠΎΠΌΠ΅Π½ ΠΈΠ»ΠΈ адрСс. БущСствуСт нСсколько Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π·Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² клиСнтском Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Двумя Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ ΠΈ извСстными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ пСрСнаправлСния ΡΠ²Π»ΡΡŽΡ‚ΡΡ Β«Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅Β» пСрСнаправлСния ΠΈ «постоянныС» пСрСнаправлСния.

    ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½Ρ‹Π΅ пСрСнаправлСния, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ NGINX 301 Redirect, просто Π·Π°ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Π±Ρ‹Ρ‚ΡŒ старый адрСс ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ дальнСйшиС ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ доступа ΠΊ этому адрСсу. Π­Ρ‚ΠΈ пСрСнаправлСния ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, Ссли ваш ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π±Ρ‹Π» постоянно ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ Π² Π½ΠΎΠ²ΠΎΠ΅ мСсто, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ мСняСтС Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ сСрвСры.

    Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π½Π°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ NGINX 301 Redirect, Π΄Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы Π΅Π³ΠΎ настройки.

    Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ NGINX 301

    Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ NGINX, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ².

    Π‘Π°ΠΌΡ‹ΠΉ простой ΠΈ быстрый способ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Β«returnΒ». Π§Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ это ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅, помСститС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄ Π² Π±Π»ΠΎΠΊ server :

    return 301 https://sample.com$request_uri; 9/foo/(bar)/(.*)$ $scheme://$server_name/$1/$2 Permanent;}

    ΠŸΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΊ Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 1000 Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ свой Π²Π΅Π±-сайт с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Twiz

    Π”ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ просто, ΠΏΡ€Π°Π²Π΄Π°? Π’Π΅ΠΏΠ΅Ρ€ΡŒ, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΠ° адрСсов ΠΈΠ»ΠΈ рСгулярных Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚Ρ‹. ΠšΠ°Ρ€Ρ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ…, ΠΈ ΠΈΡ… опрСдСлСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²Π½Π΅ Π±Π»ΠΎΠΊΠ° сСрвСра. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

    include redirect-map.conf;server { Β  Β […] Β  Β if ( $redirect_uri ) { Β  Β  Β  Β return 301 $redirect_uri; }}

    ПослС выполнСния Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для ΠΊΠ°Ρ€Ρ‚Ρ‹ пСрСнаправлСния Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

    map $request_uri $redirect_uri { Β  Β /about.html Β  Β  Β  Β  Β /about-us; /partners.html Β  Β  Β /наши ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Ρ‹; /services.html Β  Β  Β  /our-services;}

    Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ рСгулярныС выраТСния Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΊ рСгистру символов. БопоставлСниС с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСгистра Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с ~ , Π° сопоставлСниС Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° рСгистра Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с ~*. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ $redirect_uri ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Π½ΠΎ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΠ°Ρ€Ρ‚Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Π±Π»ΠΎΠΊΠ° сСрвСра. Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ это:

    ΠΊΠ°Ρ€Ρ‚Π° $request_uri $redirect_uri { Β  Β /about.html Β  Β  Β  Β  Β /about-us; /partners. html Β  Β  Β /наши ΠΏΠ°Ρ€Ρ‚Π½Π΅Ρ€Ρ‹; /services.html Β  Β  Β  /наши-услуги; # БоотвСтствуСт Π»ΡŽΠ±ΠΎΠΌΡƒ URL-адрСсу, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ заканчиваСтся Π½Π° services.html ΠΈΠ»ΠΈ services.htm Β  Β ~services\.html?$ Β  Β /our-services; # Π½Π΅Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΊ рСгистру вСрсия ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ Π²Ρ‹ΡˆΠ΅ Β  Β ~*services\.html?$ Β  /our-services; # Π˜ΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π·Π°Ρ…Π²Π°Ρ‚, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΠΉ Β  Β # Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€. service-1234.html Π² /services/item-1234/overview Β  Β ~service-(?\d+)\.html Β  /services/item-$sku/overview;}

    Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² NGINX для использования Π² конфигурациях. К Π½ΠΈΠΌ относятся:

    • $server_name. Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ΅ имя ΠΈΠ· объявлСния ΠΈΠΌΠ΅Π½ΠΈ хоста Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ для Π±Π»ΠΎΠΊΠ° сСрвСра, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π° запрос.
    • $request_uri. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ рСсурса (ΠΈΠ»ΠΈ URI) исходного запроса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹.
    • $запрос_имя_Ρ„Π°ΠΉΠ»Π°. Π­Ρ‚ΠΎ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ запроса.
    • $схСма. Π­Ρ‚ΠΎ конкрСтная схСма, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ для вашСго Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ запроса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Β«httpsΒ».
    • $хост. Π­Ρ‚ΠΎ имя хоста, прСдоставлСнноС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ запроса.

    Π•ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΆΠ΅ дСсятки Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ для Π²Π°ΡˆΠΈΡ… ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΉ.

    ВСроятно, Π² NGINX ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… способов пСрСнаправлСния. НСкоторыС ΠΈΠ· Π½ΠΈΡ… Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚:

    9www\.(?.+)$ ) { Β  Β return 301 $scheme://$domain$request_uri;}

    HTTP Π½Π° HTTPS

    Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ это ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ;

    Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ 301 https://$host$request_uri;

    Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ каноничСскоС имя хоста

    Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для прСдотвращСния дублирования ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. Код Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

    имя_сСрвСра sample.com www.sample.com запрос_ΡƒΡ€ΠΈ;}

    Каким Π±Ρ‹Π»ΠΎ нашС руководство ΠΏΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ пСрСнаправлСния NGINX 301? РасскаТитС Π½Π°ΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, Π° Ρ‚Π°ΠΊΠΆΠ΅ свои собствСнныС совСты ΠΏΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ этого пСрСнаправлСния Π² коммСнтариях Π½ΠΈΠΆΠ΅.

    ‍

    301 ΠŸΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ nginx β€” Ошибка сСрвСра

    Π—Π°Π΄Π°Π²Π°Ρ‚ΡŒ вопрос

    спросил

    ИзмСнСно 2 мСсяца Π½Π°Π·Π°Π΄

    ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Π½ΠΎ 2ΠΊ Ρ€Π°Π·

    Π― пСрСмСстил URL своСго Π²Π΅Π±-сайта ΠΈΠ· этой Ρ„ΠΎΡ€ΠΌΡ‹:

     https://example.com/category/sub-category/post-url
    https://example.com/category/post-url
     

    Π² эту Ρ„ΠΎΡ€ΠΌΡƒ:

     https://example.com/post-url
     

    И я Ρ…ΠΎΡ‚Π΅Π» Π±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ nginx, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ‚Π΅Ρ€ΡΡ‚ΡŒ посСтитСлСй, проходящих ΠΏΠΎ старым URL-адрСсам.

    Π― нашСл рСгулярноС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠ½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, это просто 9\/]+$) (Π’Π·ΡΡ‚ΡŒ вСсь тСкст послС послСднСй косой Ρ‡Π΅Ρ€Ρ‚Ρ‹). Но ΠΊΠ°ΠΊ я ΠΌΠΎΠ³Ρƒ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π΅Π³ΠΎ для использования с nginx?

    Π­Ρ‚ΠΎ Π²Ρ‹Π²ΠΎΠ΄ nginx -T :

     root@ubuntu:~# nginx -T
    nginx: синтаксис Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ /etc/nginx/nginx. conf Π² порядкС
    nginx: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ„Π°ΠΉΠ»Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ /etc/nginx/nginx.conf ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ
    # Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ /etc/nginx/nginx.conf:
    www-Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ;
    Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅_процСссы Π°Π²Ρ‚ΠΎ;
    pid /run/nginx.pid;
    Бобытия {
        worker_connections 1000;
    # multi_accept on;
    }
    http {
        ##
        # Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ настройки
        ##
    client_max_body_size 30M;
        ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π²ΠΊΠ»ΡŽΡ‡Π΅Π½;
        tcp_nopush Π²ΠΊΠ»ΡŽΡ‡Π΅Π½;
        tcp_nodelay Π²ΠΊΠ»ΡŽΡ‡Π΅Π½;
        keepalive_timeout 65;
        Ρ‚ΠΈΠΏΡ‹_Ρ…ΡΡˆ_макс_Ρ€Π°Π·ΠΌΠ΅Ρ€ 2048;
        # server_tokens off;
        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;
        Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ /etc/nginx/mime.types;
        default_type application/octet-stream;
    gzip Π²ΠΊΠ»ΡŽΡ‡Π΅Π½;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";
    gzip_vary Π²ΠΊΠ»ΡŽΡ‡Π΅Π½;
    gzip_types тСкст/ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ тСкст/тСкст css/ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ javascript/ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ svg+xml/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ x-icon/ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ javascript/x-javascript;
        ##
        # Настройки SSL
        ##
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ SSLv3, ссылка: POODLE
        ssl_prefer_server_ciphers Π²ΠΊΠ»ΡŽΡ‡Π΅Π½;
        ##
        # Настройки вСдСния ΠΆΡƒΡ€Π½Π°Π»Π°
        ##
        ΠΆΡƒΡ€Π½Π°Π»_доступа /var/log/nginx/access. log;
        ΠΆΡƒΡ€Π½Π°Π»_ошибок /var/log/nginx/error.log;
        ##
        # Настройки Gzip
        ##
        # gzip_proxyed любой;
        # gzip_comp_level 6;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
        ##
        # ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ хоста
        ##
        Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ /etc/nginx/conf.d/*.conf;
        Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ /etc/nginx/sites-enabled/*;
    }
    #ΠΏΠΎΡ‡Ρ‚Π° {
    # # Π‘ΠΌ. ΠΏΡ€ΠΈΠΌΠ΅Ρ€ сцСнария Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎ адрСсу:
    # # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
    #
    # # auth_http localhost/auth.php;
    # # pop3_capabilities "TOP" "USER";
    # # imap_capabilities "IMAP4rev1" "UIDPLUS";
    #
    # сСрвСр {
    # ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ localhost:110;
    # ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» pop3;
    # прокси Π²ΠΊΠ»ΡŽΡ‡Π΅Π½;
    # }
    #
    # сСрвСр {
    # ΡΠ»ΡƒΡˆΠ°Ρ‚ΡŒ localhost:143;
    # ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» imap;
    # прокси Π²ΠΊΠ»ΡŽΡ‡Π΅Π½;
    # }
    #}
    # Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ /etc/nginx/mime.types:
    Ρ‚ΠΈΠΏΡ‹ {
        тСкст/html html htm shtml;
        тСкст/CSS CSS;
        тСкст/xml xml;
        ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/gif gif;
        ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/jpeg jpeg jpg;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/javascript js;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/Π°Ρ‚ΠΎΠΌ+xml Π°Ρ‚ΠΎΠΌ;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/rss+xml rss;
        тСкст/ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΌΠΌΠ»;
        тСкст/простой тСкст;
        тСкст/vnd. sun.j2me.app-дСскриптор jad;
        тСкст/vnd.wap.wml wml;
        тСкст/x-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ htc;
        ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/png png;
        ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/tiff tif tiff;
        ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/vnd.wap.wbmp wbmp;
        ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/Π·Π½Π°Ρ‡ΠΎΠΊ x ico;
        ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/x-jng jng;
        ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/x-ms-bmp bmp;
        ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/svg+xml svg svgz;
        ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/Π²Π΅Π±-сайт;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΡˆΡ€ΠΈΡ„Ρ‚-woff woff;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/java-Π°Ρ€Ρ…ΠΈΠ² jar war ear;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/json json;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/mac-binhex40 hqx;
        Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ прилоТСния/msword;
        заявка/pdf pdf;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/постскриптум ps eps ai;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/rtf rtf;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ /vnd.apple.mpegurl m3u8;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/vnd.ms-excel xls;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ /vnd.ms-fontobject eot;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ /vnd.ms-powerpoint ppt;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ /vnd.wap.wmlc wmlc;
        application/vnd.google-earth.kml+xml ΠΊΠΌΠ»;
        application/vnd.google-earth.kmz ΠΊΠΌΠ·;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ /x-7z-сТатый 7z;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ /x-cocoa cco;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/x-java-Π°Ρ€Ρ…ΠΈΠ²-diff jardiff;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/x-java-jnlp-Ρ„Π°ΠΉΠ» jnlp;
        запуск прилоТСния /x-makeself;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/x-perl pl pm;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/x-pilot prc pdb;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ /x-rar-сТатый rar;
        application/x-redhat-package-manager ΠΎΠ±/ΠΌΠΈΠ½;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ /Ρ…-ΠΌΠΎΡ€Π΅ ΠΌΠΎΡ€Π΅;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ /x-shockwave-flash swf;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ /x-stuffit ΡΠΈΠ΄Π΅Ρ‚ΡŒ;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/x-tcl tcl tk;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/x-x509-ca-cert der pem crt;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ /x-xpinstall xpi;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/xhtml+xml xhtml;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/xspf+xml xspf;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/zip-Π°Ρ€Ρ…ΠΈΠ²;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΠΎΠΊΡ‚Π΅Ρ‚-ΠΏΠΎΡ‚ΠΎΠΊ bin exe dll;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΠΎΠΊΡ‚Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ deb;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΠΎΠΊΡ‚Π΅Ρ‚-ΠΏΠΎΡ‚ΠΎΠΊ dmg;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΠΎΠΊΡ‚Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΠΎΡ‚ΠΎΠΊ iso img;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ΠΎΠΊΡ‚Π΅Ρ‚-ΠΏΠΎΡ‚ΠΎΠΊ msi msp msm;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/vnd. openxmlformats-officedocument.wordprocessingml.document docx;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/vnd.openxmlformats-officedocument.spreadsheetml.sheet xlsx;
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/vnd.openxmlformats-officedocument.presentationml.presentation pptx;
        Π°ΡƒΠ΄ΠΈΠΎ/ΠΌΠΈΠ΄ΠΈ ΠΌΠΈΠ΄ ΠΌΠΈΠ΄ΠΈ ΠΊΠ°Ρ€;
        Π°ΡƒΠ΄ΠΈΠΎ/ΠΌΠΏΠ΅Π³ ΠΌΠΏ3;
        Π°ΡƒΠ΄ΠΈΠΎ/ΠΎΠ³Π³ ΠΎΠ³Π³;
        Π°ΡƒΠ΄ΠΈΠΎ/x-m4a m4a;
        Π°ΡƒΠ΄ΠΈΠΎ/x-realaudio ra;
        Π²ΠΈΠ΄Π΅ΠΎ/3gpp 3gpp 3gp;
        Π²ΠΈΠ΄Π΅ΠΎ/mp2t Ρ†;
        Π²ΠΈΠ΄Π΅ΠΎ/mp4 mp4;
        Π²ΠΈΠ΄Π΅ΠΎ/mpeg mpeg mpeg mpg;
        Π²ΠΈΠ΄Π΅ΠΎ/быстроС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅;
        Π²ΠΈΠ΄Π΅ΠΎ/Π²Π΅Π±ΠΌ Π²Π΅Π±ΠΌ;
        Π²ΠΈΠ΄Π΅ΠΎ/x-flv flv;
        Π²ΠΈΠ΄Π΅ΠΎ/x-m4v m4v;
        Π²ΠΈΠ΄Π΅ΠΎ/x-ΠΌΠ½Π³ ΠΌΠ½Π³;
        Π²ΠΈΠ΄Π΅ΠΎ/x-ms-asf asx asf;
        Π²ΠΈΠ΄Π΅ΠΎ/x-ms-wmv wmv;
        Π²ΠΈΠ΄Π΅ΠΎ/x-msvideo avi;
    }
    # Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ /etc/nginx/sites-enabled/default:
    сСрвСр {
            ΠΊΠΎΡ€Π΅Π½ΡŒ /var/www/example.com;
            индСкс index.php;
            имя_сСрвСра ΠΏΡ€ΠΈΠΌΠ΅Ρ€.com;
            располоТСниС / {
    try_files $uri $uri/ /index.php?q=$uri&$args;
            }
            располоТСниС ~ \.php$ {
            Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹/fastcgi-php.conf;
            fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
            }
    располоТСниС ~ ^/(?:[^/]+)(?:/[^/]+)?/(?. (.+?\.php)(/.*)$;
    # ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ сущСствованиС PHP-скрипта ΠΏΠ΅Ρ€Π΅Π΄ Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ
    try_files $fastcgi_script_name = 404;
    # ΠžΠ±ΠΎΠΉΡ‚ΠΈ Ρ‚ΠΎΡ‚ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ try_files сбрасываСт $fastcgi_path_info
    # см.: http://trac.nginx.org/nginx/ticket/321
    ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ $path_info $fastcgi_path_info;
    fastcgi_param PATH_INFO $path_info;
    fastcgi_index index.php;
    Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ fastcgi.conf;
    # Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ /etc/nginx/fastcgi.conf:
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    fastcgi_param QUERY_STRING $query_string;
    fastcgi_param REQUEST_METHOD $request_method;
    fastcgi_param CONTENT_TYPE $content_type;
    fastcgi_param CONTENT_LENGTH $content_length;
    fastcgi_param SCRIPT_NAME $fastcgi_script_name;
    fastcgi_param REQUEST_URI $request_uri;
    fastcgi_param DOCUMENT_URI $document_uri;
    fastcgi_param DOCUMENT_ROOT $document_root;
    fastcgi_param SERVER_PROTOCOL $server_protocol;
    fastcgi_param REQUEST_SCHEME $схСма;
    fastcgi_param HTTPS $https if_not_empty;
    fastcgi_param GATEWAY_INTERFACE CGI/1.1;
    fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
    fastcgi_param REMOTE_ADDR $remote_addr;
    fastcgi_param REMOTE_PORT $remote_port;
    fastcgi_param SERVER_ADDR $server_addr;
    fastcgi_param SERVER_PORT $server_port;
    fastcgi_param ИМЯ_БЕРВЕРА $server_name;
    # Волько PHP, трСбуСтся, Ссли PHP Π±Ρ‹Π» собран с --enable-force-cgi-redirect
    fastcgi_param REDIRECT_STATUS 200;
    # Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ /etc/letsencrypt/options-ssl-nginx. conf:
    # Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» содСрТит Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ бСзопасности. Если Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ этот Ρ„Π°ΠΉΠ»
    # Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Certbot Π½Π΅ смоТСт автоматичСски ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ
    # обновлСния. ВмСсто этого Certbot Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ ΠΈ зарСгистрируСт сообщСниС ΠΎΠ± ошибкС с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΡƒΡ‚ΠΈ ΠΊ
    # Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡΡ‹Π»Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΌ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ
    # этот Ρ„Π°ΠΉΠ».
    ΠΎΠ±Ρ‰ΠΈΠΉ ssl_session_cache: le_nginx_SSL: 10 ΠΌ;
    ssl_session_timeout 1440 ΠΌ;
    ssl_session_tickets Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½;
    ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA";
    # Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ /var/www/outpost.example.com/.nginx.conf:
    # ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ запросы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΡΡΡ‹Π»Π°ΡŽΡ‚ΡΡ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π° Ρ„Π°ΠΉΠ»Ρ‹ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС, Π² index.php
    располоТСниС / {
      try_files $uri $uri/ /index.php?$query_string;
    }
    # Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹ основаны Π½Π° рСкомСндациях H5BP Nginx Server Configs. 
    # https://github.com/h5bp/server-configs-nginx
    # Π‘Ρ€ΠΎΠΊ дСйствия ΠΏΡ€Π°Π²ΠΈΠ» для статичСского ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°
    располоТСниС ~* \.(?:манифСст|appcache|html?|xml|json)$ {
      add_header Cache-Control "max-age=0";
    }
    располоТСниС ~* \.(?:rss|Π°Ρ‚ΠΎΠΌ)$ {
      add_header Cache-Control "max-age=3600";
    }
    располоТСниС ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|mp4|ogg|ogv|webm|htc)$ {
      add_header Cache-Control "max-age=2592000";
      доступ_Π»ΠΎΠ³ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½;
    }
    располоТСниС ~* \.(?:css|js)$ {
      add_header Cache-Control "max-age=31536000";
      доступ_Π»ΠΎΠ³ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½;
    }
    располоТСниС ~* \.(?:ttf|ttc|otf|eot|woff|woff2)$ {
      add_header Cache-Control "max-age=2592000";
      доступ_Π»ΠΎΠ³ Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½;
    }
    # Gzip-сТатиС
    gzip Π²ΠΊΠ»ΡŽΡ‡Π΅Π½;
    gzip_comp_level 5;
    gzip_min_length 256;
    gzip_proxy любой;
    gzip_vary Π²ΠΊΠ»ΡŽΡ‡Π΅Π½;
    gzip_types
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/Π°Ρ‚ΠΎΠΌ+xml
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/javascript
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/json
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/ld+json
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/манифСст+json
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/rss+xml
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/vnd.geo+json
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ /vnd.ms-fontobject
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/x-ΡˆΡ€ΠΈΡ„Ρ‚-ttf
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/x-Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅-манифСст+json
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/xhtml+xml
        ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅/xml
        ΡˆΡ€ΠΈΡ„Ρ‚/ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ Ρ‚ΠΈΠΏ
        ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/bmp
        ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/svg+xml
        ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/x-Π·Π½Π°Ρ‡ΠΎΠΊ
        тСкст/кэш-манифСст
        тСкст/CSS
        тСкст/ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ
        тСкст/визитная ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°
        тСкст /vnd. rim.location.xloc
        тСкст/vtt
        тСкст/x-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚
        text/x-мСТдомСнная ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°;
    # Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ /etc/nginx/uwsgi_params:
    uwsgi_param QUERY_STRING $query_string;
    uwsgi_param REQUEST_METHOD $request_method;
    uwsgi_param CONTENT_TYPE $content_type;
    uwsgi_param CONTENT_LENGTH $content_length;
    uwsgi_param REQUEST_URI $request_uri;
    uwsgi_param PATH_INFO $document_uri;
    uwsgi_param DOCUMENT_ROOT $document_root;
    uwsgi_param SERVER_PROTOCOL $server_protocol;
    uwsgi_param REQUEST_SCHEME $схСма;
    uwsgi_param HTTPS $https if_not_empty;
    uwsgi_param REMOTE_ADDR $remote_addr;
    uwsgi_param REMOTE_PORT $remote_port;
    uwsgi_param SERVER_PORT $server_port;
    uwsgi_param ИМЯ_БЕРВЕРА $server_name;
     9/]+)?/(?.*)$ {
        Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ 301 https://example.com/$posturl$is_args$args;
    }
     

    Π‘Π»ΠΎΠΊ location соотвСтствуСт ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ, Ρ‚Π°ΠΊ ΠΈ Π΄Π²ΡƒΠΌ уровням прСфиксов ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΈ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ URL-адрСса Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ $posturl .

    Π—Π°Ρ‚Π΅ΠΌ пСрСмСнная ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для создания пСрСнаправлСния 301.

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *