Puncte:1

add_header pentru anumite request_uri

drapel in

Aplicația se ocupă de toată rutarea. Deci, acest bloc de configurare de bază funcționează:

Locație / {
    try_files $uri $uri/ /index.html;
}

Problema este că vreau să adaug un antet personalizat ori de câte ori un vizitator solicită un anumit URI. De exemplu, /conţinut. Ei bine, asta trebuie să fie ușor ca:

locație ~ ^/conținut {
   try_files $uri $uri/ /index.html;
   add_header valoarea X-CUSTOM-HEADER;
}

Dar asta nu merge. Nginx nu creează acel antet. Apoi, am încercat să elimin try_files directivă de la conţinut bloc, dar asta nu funcționează evident, deoarece nu există un „real” /conţinut folderul din directorul rădăcină.Astfel, nginx va arunca 404 Nu a fost gasit eroare.

De asemenea, am încercat să mut acel bloc în interiorul blocului de locație rădăcină. Nici nu funcționează.


În Apache, acest lucru se poate face cu ușurință folosind următoarele:

<If "%{THE_REQUEST} =~ pattern">
    Header set HEADER value;
</If>
Michael Hampton avatar
drapel cz
De ce folosești un regex în „locația” ta? Nu pare a fi necesar.
Puncte:2
drapel jp

Puteți seta antetul folosind o variabilă mapată. Dacă variabila este setată la un șir gol, antetul va fi eliminat în tăcere.

De exemplu:

harta $request_uri $myheader {
    ~^/conținut o_valoare;
}
Server {
    ...
    add_header X-CUSTOM-HEADER $myheader;

    Locație / {
        try_files $uri $uri/ /index.html;
    }
}
Annahri avatar
drapel in
Oh wow, nu m-am gândit la asta. Acest lucru funcționează!!! Am petrecut ore întregi să aflu cum să fac asta! Mulțumiri!

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.