Hoe www naar Non-www omleiden met Nginx?

Gepubliceerd 28 juni 2024

Nginx Configureren om www om te leiden naar niet-www

Website-eigenaren gebruiken vaak een enkele versie van hun domein om SEO en gebruikerservaring te verbeteren. Het omleiden van de www-versie van een domein naar de niet-www-versie (of omgekeerd) is gebruikelijk. Voor Nginx-gebruikers vereist het instellen van deze omleiding specifieke configuratie. Dit artikel legt uit hoe je www naar niet-www kunt omleiden met Nginx, waardoor je een consistente domeinstructuur voor je website kunt behouden.

Nginx Instellen voor www naar Niet-www Omleiding

Een Server Block Aanmaken voor Omleiding

Om een server block in te stellen voor www naar niet-www omleiding:

  1. Maak een nieuw configuratiebestand aan:

    sudo nano /etc/nginx/sites-available/example.com
  2. Voeg dit server block toe:

    server {
       listen 80;
       server_name www.example.com example.com;
    
       # Other server configurations go here
    }
  3. Gebruik de server_name directive om zowel de www als niet-www versies van je domein te specificeren.

  4. Sla het bestand op en sluit de teksteditor af.

  5. Maak een symbolische link aan om de site in te schakelen:

    sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
  6. Verwijder de standaard Nginx-configuratie:

    sudo rm /etc/nginx/sites-enabled/default

Deze setup vormt de basis voor het implementeren van de www naar niet-www omleiding in Nginx.

De 301 Omleiding Implementeren in Nginx

De Omleidingsregel Schrijven

Om www naar niet-www om te leiden met Nginx, gebruik je de return directive met een 301 statuscode. Dit geeft een permanente omleiding aan. Voeg deze regel toe aan je server block:

server {
    listen 80;
    server_name www.example.com example.com;
    if ($host = www.example.com) {
        return 301 $scheme://example.com$request_uri;
    }
    # Other server block configurations
}

Deze regel controleert of de gevraagde host de www-versie van je domein is. Als dat zo is, leidt het om naar de niet-www-versie, waarbij het oorspronkelijke schema (http of https) en eventuele URL-parameters behouden blijven.

De Nginx Configuratie Testen

Nadat je de omleidingsregel hebt geschreven, test je je Nginx-configuratie op fouten:

  1. Voer dit commando uit:

    sudo nginx -t
  2. Als er geen fouten zijn, zie je een bericht dat aangeeft dat de configuratietest succesvol is.

  3. Als er fouten zijn, controleer dan je configuratiebestand en herstel eventuele problemen.

Zodra de configuratietest slaagt, herlaad je Nginx om de wijzigingen toe te passen:

sudo systemctl reload nginx

Dit commando herlaadt Nginx zonder actieve verbindingen te stoppen. Je www naar niet-www omleiding zou nu moeten werken. Test het door je www-domein in een webbrowser te bezoeken om te bevestigen dat het omleidt naar de niet-www-versie.

Aanvullende Overwegingen voor Omleiding

HTTPS-Verbindingen Afhandelen

Om HTTPS-verbindingen af te handelen, stel je SSL-certificaten in en werk je je Nginx server block bij:

  1. Verkrijg een SSL-certificaat voor je domein.

  2. Installeer het SSL-certificaat op je server.

  3. Werk je Nginx server block bij om HTTPS te ondersteunen:

server {
    listen 80;
    listen 443 ssl;
    server_name www.example.com example.com;

    ssl_certificate /path/to/your/certificate.crt;
    ssl_certificate_key /path/to/your/certificate.key;

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

    if ($scheme != "https") {
        return 301 https://$host$request_uri;
    }

    # Other SSL and server configurations
}

Deze configuratie leidt HTTP- en HTTPS-verkeer van www naar niet-www om, en gebruikt HTTPS voor alle verbindingen.

DNS-Configuratie voor www en Niet-www Domeinen

Om DNS in te stellen voor www en niet-www domeinen:

  1. Maak een A-record aan voor je niet-www-domein (example.com) die naar het IP-adres van je server wijst.

  2. Stel een CNAME-record in voor het www-subdomein (www.example.com) die naar je niet-www-domein wijst.

Voorbeeld DNS-records:

example.com.     A     123.45.67.89
www.example.com. CNAME example.com.

Sta na het maken van DNS-wijzigingen tijd toe voor propagatie. Dit kan tot 48 uur duren, maar gebeurt vaak binnen een paar uur. Gebruik online DNS-opzoektools om de propagatiestatus van je domein te controleren.

Door HTTPS-verbindingen af te handelen en DNS te configureren, creëer je een veilig omleidingssysteem voor je www en niet-www domeinen.

Veelvoorkomende Omleidingsproblemen Oplossen

Omgaan met Omleidingslussen

Omleidingslussen gebeuren wanneer omleidingen terugleiden naar de oorspronkelijke URL, waardoor een cyclus ontstaat. Om circulaire omleidingen te vinden en op te lossen:

  1. Gebruik online omleidingscontroletools of browserontwikkelaarshulpmiddelen om lussen te herkennen.

  2. Controleer je Nginx-configuratiebestanden op conflicterende omleidingsregels.

  3. Zoek naar omleidingen in je contentmanagementsysteem of .htaccess-bestanden.

Om omleidingsproblemen in serverlogboeken te vinden:

  1. Krijg toegang tot Nginx-foutlogboeken:

    sudo tail -f /var/log/nginx/error.log
  2. Zoek naar herhaalde omleidingsinvoer of foutmeldingen.

  3. Gebruik loganalysetools om patronen in omleidingsgedrag te vinden.

Omleiding Optimaliseren voor Zoekmachines

Om zoekmachines te helpen je omleidingen te begrijpen:

  1. Gebruik 301 (permanente) omleidingen voor www naar niet-www. Controleer dit in je Nginx-configuratie:

    return 301 $scheme://example.com$request_uri;
  2. Werk je XML-sitemap bij:

    • Verwijder www-URL's
    • Voeg niet-www-URL's toe
    • Dien de bijgewerkte sitemap in bij zoekmachines
  3. Wijzig je robots.txt-bestand:

    • Gebruik de niet-www-versie in de Sitemap directive
    • Voorbeeld:
      Sitemap: https://example.com/sitemap.xml
  4. Gebruik Google Search Console om:

    • Je voorkeursdomeinversie in te stellen
    • Te controleren op crawlfouten gerelateerd aan omleidingen

Door omleidingslussen op te lossen en te optimaliseren voor zoekmachines, kun je de prestaties en zoekzichtbaarheid van je website verbeteren.