• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Computer / servers / hosting
  4. Servers + hosting
  5. Hosting (shared, vps, dedicated)

Forum

  • Het Grote Vibe Code Topic

    eeyk 22 mei 2026 om 19:28
  • Ictscripters Chat

    AarClay 21 april 2026 om 11:34
  • PWYL source gezocht

    Syntax 25 maart 2026 om 11:44
  • Help testers nodig voor android app Urgent

    Servertjee 20 februari 2026 om 12:07
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    Servertjee 20 februari 2026 om 12:06
  • Afspraken systeem met planbeperking

    Jeffrey.Hoekman 20 februari 2026 om 11:52
  • Developer Gezocht

    Servertjee 19 februari 2026 om 17:31
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Servertjee 18 februari 2026 om 16:57

Marktplaats

  • 370 Nieuwe Domeinnamen April 2026

    shiga 1 mei 2026 om 12:06
  • Snel een website nodig?

    Syntax 10 april 2026 om 12:55
  • Sicarras.com - Moderne Mafia Text-Based RPG

    Syntax 5 april 2026 om 16:22

[NGINX] Rewrite maakt bestanden onbereikbaar

  • pekelterror
  • 26 mei 2016 om 18:44
  • pekelterror
    Professional
    Ontvangen Reacties
    13
    Berichten
    608
    • 26 mei 2016 om 18:44
    • #1

    Hallo,

    Ik heb voor me website 1 simpele rewrite in gebruikt, gemaakt met een generator online.
    Dat werkt goed, en pagina`s als site.nl/index.php?page=contact is nu gewoon site.nl/contact

    Code
    rewrite ^/([^_]*)$ /index.php?page=$1 last;

    Nu heb ik alleen dat vervolgens bestanden als robots.txt en sitemap.xml niet meer te openen zijn.
    Deze vallen nu terug op de home pagina.

    Mijn vraag is nu dus, hoe kan ik een NGINX rewrite maken die de volgende links mogelijk maakt.
    site.nl/index.php?page=contact > site.nl/contact
    site.nl/sitemap.xml > site.nl/sitemap.xml

    Ik las al dat ik een rewrite kan maken voor die bestanden en gebruik van de last optie, maar om dat nou per bestand te doen lijkt me erg omslachtig.

    Jordy

  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    2
    Berichten
    737
    • 27 mei 2016 om 14:20
    • #2

    TL;DR controleer eerst of je een bestaand bestand/directory aanroept, en voer daarna (als het voorgaande niet het geval was) een rewrite uit.

    Ik denk dat je in je voorbeeld de externe aanroep en de interne vertaling door elkaar haalt?

    De syntax van rewrite staat waarschijnlijk wel in de goede volgorde. Ik ken deze verder niet (ben Apache gewend) maar ik kan mij zo voorstellen dat er ook in nginx een commando is voor het skippen van bestaande bestanden (en directories). Hier zou je dan eerst op kunnen controleren, daarna heb je je fallback naar index.php.

    Je zou dit trouwens nog kunnen vereenvoudigen: je zou ook ALLES wat niet refereert aan een bestaand bestand (of directory) simpelweg door kunnen sturen naar index.php. Vervolgens controleer je $_SERVER['REQUEST_URI'], ontleed je het (relatieve applicatie-)pad dat is aangeroepen en bekijk je of dit een valide aanroep was. Dit principe heb ik ook in een artikel beschreven.

    Wat ik niet begrijp is dat mensen voor dit doel pertinent een querystring-variabele (?page=, ?q=, ?whatever=) reserveren. Dit is namelijk helemaal niet nodig en vervuilt in zekere zin je querystring-scope.

    EDIT deze oplossing biedt mogelijk soelaas (2 minuten googlen). Je zult dan wel zelf de rest van je URL moeten ontleden maar het probleem verplaatsen naar PHP heeft zo zijn voordelen, je kunt daar dan het request verder afhandelen, in plaats van worstelen met hardcoded zut in een nginx configuratie-bestand.

    Bewerkt 2 keer, laatst door FangorN (27 mei 2016 om 14:28).

  • pekelterror
    Professional
    Ontvangen Reacties
    13
    Berichten
    608
    • 28 mei 2016 om 00:03
    • #3

    Bedankt voor je reactie.
    Heb het iets anders, maar wel iets gehad aan je denkwijze om alles in de PHP af te handelen.

    Heb nu iets wat kijkt of het bestand bestaat, en anders naar de index.php verwijst.
    En met je het $_SERVER['REQUEST_URI'] kijk ik vervolgens welke pagina er eigenlijks opgevraagd word.

    Code
    location / {
    if (!-e $request_filename){
    rewrite ^(.*)$ /index.php break;
    }
    }

    Lijkt nu helemaal te werken.

    Schijnt de nginx versie te zijn van deze apache methode.

    Apache Configuration
    #
    # Redirect all to index.php
    #
    RewriteEngine On
    
    
    # if a directory or a file exists, use it directly
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    
    
    RewriteCond %{REQUEST_URI} (/[^.]*|\.)$ [NC]
    RewriteRule .* index.php [L]
    Toon Meer

    Gebruikte bronnen:
    http://stackoverflow.com/questions/1292…731846#21731846
    http://winginx.com/en/htaccess

  • FangorN
    Professional
    Ontvangen Reacties
    196
    Articles
    2
    Berichten
    737
    • 28 mei 2016 om 00:52
    • #4

    Binnenkort is mogelijk mijn artikel over routing klaar, de volgende in een reeks van artikelen over het maken van webapplicaties / frameworks.

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!

Maak een account aan Login

ICT Nieuws

  • Datalek bij leverancier Canvas - Universiteit van Amsterdam

    ICTscripters 10 mei 2026 om 12:03
  • Data privacy in 2026: Hoe de naleving van GDPR verandert

    ICTscripters 8 mei 2026 om 12:16
  • Tech.eu - Europees Start-up, Financiering en Technologienieuws

    ICTscripters 7 mei 2026 om 12:15

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacy Policy
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen | Beste Zetes eid kaartlezer webshop
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design