Hoe herschrijfregels te maken in Nginx

NGINX-herschrijfregels bieden een krachtige manier om URL-verzoeken op uw webserver te wijzigen en te beheren. Deze regels zijn essentieel voor het omleiden van URL's, het wijzigen van URL-structuren en het verbeteren van SEO. Door gebruik te maken van herschrijfregels kunt u ervoor zorgen dat gebruikers en zoekmachines efficiënt toegang hebben tot uw inhoud en een schone en georganiseerde URL-structuur behouden. Door de herschrijfregels onder de knie te krijgen, kunt u de functionaliteit en flexibiliteit van uw webserver verbeteren, waardoor een betere algehele gebruikerservaring ontstaat.

In deze handleiding wordt uitgelegd hoe u herschrijfregels in NGINX kunt maken, met duidelijke voorbeelden en stappen om u te helpen uw server te configureren om URL-wijzigingen effectief af te handelen.

NGINX-herschrijfregels: terugkeerrichtlijn

De NGINX return richtlijn is een krachtig hulpmiddel voor het beheren van serverreacties. Het wordt voornamelijk gebruikt om clients om te leiden naar verschillende URL's of om specifieke statuscodes te verzenden. Deze richtlijn vereenvoudigt het omleiden van verkeer, vooral bij het verplaatsen of herstructureren van uw website. Het is essentieel voor SEO en het behouden van de gebruikerservaring tijdens transities. Laten we een uniek voorbeeld bekijken om de toepassing ervan te begrijpen:

Voorbeeld: Stel dat u gebruikers van een oude pagina naar een nieuwe wilt omleiden. In uw NGINX-configuratiebestand kunt u mogelijk de return richtlijn als volgt:

server {
    listen 80;
    server_name oldsite.com;
    return 301 http://newsite.com$request_uri;
}

In dit voorbeeld wordt elk verzoek aan oldsite.com permanent doorgestuurd naar newsite.com, waarbij de verzoek-URI behouden blijft. De 301-statuscode geeft een permanente omleiding aan en informeert zoekmachines om hun indexering bij te werken.

NGINX-herschrijfregels: herschrijfrichtlijn

De NGINX-herschrijfinstructie wordt gebruikt om aanvraag-URI's op verschillende manieren te wijzigen voordat deze verder worden verwerkt. Het is veelzijdiger dan de return-richtlijn en maakt complexe URL-manipulaties mogelijk op basis van voorwaarden. Deze functie is cruciaal voor het maken van SEO-vriendelijke URL’s en het beheren van verouderde links.

Voorbeeld: Stel je voor dat je een dynamische URL moet converteren naar een statisch ogende URL voor betere SEO. Je zou de rewrite-instructie als volgt kunnen gebruiken:

server {
    listen 80;
    server_name example.com;
    location /products {
        rewrite ^/products/([0-9]+)/([0-9]+)$ /product?id=$1&page=$2 last;
    }
}

In dit scenario wordt een URL zoals voorbeeld.com/products/123/2 intern herschreven naar voorbeeld.com/product?id=123&page=2. De laatste vlag geeft aan dat het herschrijfproces moet stoppen en dat de nieuwe URI opnieuw moet worden geëvalueerd.

Voorbeeld van NGINX-herschrijfregels

Implementatie van HTTPS-herschrijfregels in NGINX

Het garanderen van veilige verbindingen via HTTPS is van cruciaal belang voor de gegevensbeveiliging. De NGINX-herschrijfrichtlijn kan al het HTTP-verkeer omleiden naar HTTPS, waardoor de beveiliging van gegevens onderweg wordt verbeterd.

server {
    listen 80;
    server_name example.com;
    return 301 https://$host$request_uri;
}

In dit voorbeeld worden HTTP-verzoeken aan example.com omgeleid naar HTTPS, waardoor gecodeerde communicatie wordt gegarandeerd.

URL's stroomlijnen: dubbele slash verwijderen in NGINX-herschrijfregels

Af en toe kunnen URL's dubbele schuine strepen bevatten, wat tot verwarring of fouten kan leiden. De rewrite-richtlijn van NGINX gaat hier efficiënt mee om door URL's met dubbele schuine strepen naar een enkele schuine streep te converteren.

server {
    server_name example.com;
    if ($request_uri ~* "\/\/") {
        rewrite ^/(.*)/$ /$1 permanent;
    }
}

Deze regel stroomlijnt URL's door overtollige schuine strepen te verwijderen.

Directory-omleiding: NGINX-herschrijfregels in actie

Bij het reorganiseren of verplaatsen van bronnen is het vaak noodzakelijk om hele mappen efficiënt om te leiden. NGINX faciliteert dit via zijn herschrijfregel.

location ^~ /old-directory/ {
    rewrite ^/old-directory/(.*)$ /new-directory/$1 permanent;
}

Met dit commando worden alle verzoeken omgeleid van /oude-map/ naar /nieuwe-map/.

Manipulatie van queryreeksen met behulp van herschrijfregels in NGINX

Het wijzigen van URL's op basis van queryreeksen kan met name nuttig zijn bij het opnieuw ontwerpen van sites. NGINX-herschrijfregels maken dynamische URL-herstructurering mogelijk op basis van deze parameters.

if ($args ~ "^id=(.*)&lang=(.*)") {
    set $id $1;
    set $lang $2;
    rewrite ^/page.php$ /page/$lang/$id? permanent;
}

Hier transformeert de herschrijfregel complexe queryreeksen in meer gestroomlijnde URL's.

Zorgen voor uniforme URL's: Trailing Slash in NGINX-herschrijfregels

Uniformiteit in de URL-structuur, zoals een schuine streep, kan van cruciaal belang zijn voor de consistentie van de site en SEO.

rewrite ^([^.]*[^/])$ $1/ permanent;

Deze regel zorgt ervoor dat alle URL's eindigen met een schuine streep, waardoor een gestandaardiseerd formaat behouden blijft.

Op methoden gebaseerde omleiding: gebruik maken van herschrijfregels in NGINX

NGINX maakt omleidingen mogelijk op basis van specifieke verzoekmethoden, zoals POST, wat cruciaal kan zijn voor het veilig afhandelen van formulierinzendingen.

if ($request_method = POST ) {
    return 301 https://example.com$request_uri;
}

Met deze opdracht worden alle POST-aanvragen omgeleid naar een HTTPS-URL.

Afbeeldingen beveiligen met NGINX-herschrijfregels

Bescherm de bronnen van uw server door ongeautoriseerde directe koppeling naar uw afbeeldingen te voorkomen.

location ~ .(gif|png|jpe?g)$ {
    valid_referers none blocked ~.google. ~.bing. ~.yahoo. example.com *.example.com;
    if ($invalid_referer) {
        rewrite ^/images/(.*)$ /stop-hotlinking.$1 last;
    }
}

Deze opstelling leidt verzoeken om met ongeldige verwijzers, waardoor hotlinking effectief wordt geblokkeerd.

URL's in kleine letters afdwingen voor consistentie

Het onderhouden van URL's in kleine letters op uw site verbetert de consistentie en voorkomt verwarring.

location ~ [A-Z] {
    rewrite ^(.*)$ $scheme://$host$1 lowercase;
}

Met deze opdracht worden URL-elementen in hoofdletters omgezet naar kleine letters.

Wijzigingen in de URL-structuur verwerken

Aanpassing aan nieuwe URL-structuren zonder verkeer te verliezen of de gebruikerservaring te schaden is cruciaal tijdens website-updates.

server {
    listen 80;
    server_name example.com;
    
    location ~* ^/oldpath/(.*) {
        rewrite ^/oldpath/(.*)$ /newpath/$1 permanent;
    }
}

Leidt gebruikers en zoekmachines om van oude naar nieuwe URL's.

Schone URL's maken voor CMS-platforms

Voor CMS-platforms die afhankelijk zijn van queryreeksen kunnen NGINX-herschrijfregels schonere, meer SEO-vriendelijke URL's creëren.

location / {
    try_files $uri $uri/ @extensionless-php;
    index index.html index.htm index.php;
}

location ~ \.php$ {
    try_files $uri =404;
}

location @extensionless-php {
    rewrite ^(/[^.]*[^/])$ $1.php last;
}

Deze opstelling transformeert URL's naar een beter leesbaar formaat, waardoor de SEO-prestaties mogelijk worden verbeterd.

Conclusie

Door herschrijfregels in NGINX te maken en te configureren, kunt u uw URL-beheer optimaliseren, SEO verbeteren en een naadloze gebruikerservaring garanderen. Controleer en test uw herschrijfregels regelmatig om er zeker van te zijn dat ze naar verwachting functioneren en breng indien nodig aanpassingen aan. Door de herschrijfregels van NGINX onder de knie te krijgen, kunt u de volledige kracht van NGINX benutten voor een dynamischere en responsievere webserver.

Joshua James
Volg mij
Laatste berichten van Joshua James (alles zien)

Plaats een reactie