Avatar billede Mik2000 Professor
25. februar 2021 - 11:52 Der er 1 løsning

Htaccess if på nginx

Jeg har nogle if regler som ser sådan her ud i min htaccess hvor den kigger på domænet
------------------------------------------------
# Her er alt andet som rewrites, errordocuments etc.

<if "%{HTTP_HOST} == 'https://webside1.dk'">
RewriteRule ^soeg/*? https://webside1.dk/search/ [R=301,L]
# Flere regler
</if>

<if "%{HTTP_HOST} == 'https://webside2.dk'">
RewriteRule ^soeg/*? https://webside2.dk/soeg/ [R=301,L]
# Flere regler
</if>
------------------------------------------------

Det har virket fordi jeg har brugt apache webserver, men nu er der kommet noget reverse proxy med nginx på, og det ser ud til det nu skal følge nginx standard hvor if ikke virker

Så hvordan laver jeg de if om til noget som nginx forstår (eller allerbedst noget som både nginx og apache forstår)?
Avatar billede Keld Broe Seniormester
22. januar 2023 - 17:33 #1
I Nginx kan du bruge "server blocks" til at håndtere forskellige domæner og deres tilhørende konfigurationer. Du kan bruge "server_name" direktivet i en server block til at matche et specifikt domæne og derefter tilføje dine rewrite regler og andre konfigurationer inden for denne block.

Eksempel:

server {
listen 80;
server_name webside1.dk;
rewrite ^soeg/*? https://webside1.dk/search/ permanent;
# Flere regler
}

server {
listen 80;
server_name webside2.dk;
rewrite ^soeg/*? https://webside2.dk/soeg/ permanent;
# Flere regler
}

Sørg for at placere disse server blocks i din Nginx konfigurationsfil, normalt fundet i /etc/nginx/ eller /usr/local/nginx/conf/.
Husk at genstart Nginx efter ændringer i konfigurationsfilen, og at teste om dine regler virker som forventet, og ikke giver uventede resultater.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester