Hét vraag- en antwoordplatform van Nederland

Hoe laat ik een url met een '/' aan het eind doorverwijzen zonder 500 error?

Ik heb d.m.v. de .htaccess er voor gezorgd dat alle .html en .php extensies automatisch worden ‘weggehaald’. mijnsite.nl/pagina.html wordt dus automatisch mijnsite.nl/pagina Dit doet het uitstekend! Wanneer ik echter een ’/’ toevoeg aan het einde van de link (dit wordt dan dus: mijnsite.nl/pagina/ ) dan krijg ik een ‘Internal Server Error’ Dit is mijn volledige .htacces bestand:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
ErrorDocument 404 /404


En nog iets:
Wanneer een niet bestaande pagina wordt opgevraagd (bijv. mijnsite.nl/bgiougb ) dan wordt succesvol de 404 pagina geladen. Wanneer er echter een '/'wordt toegevoegd, laadt de 404 pagina, alleen dan zonder opmaak. Het lijkt wel alsof het CSS bestand is weggevallen.

Wat doe ik verkeerd?
Heeft iemand hier een oplossing voor dat het met een ’/’ erachter ook werkt?

Bedankt alvast!"

Toegevoegd na 6 dagen:
Weet iemand hoe dit komt, want het lukt me nog steeds niet...

Verwijderde gebruiker
11 jaar geleden
1.1K

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Antwoorden (2)

Zet in je .htaccess-bestand ook de verwijzingen naar de url's mét slash. Ik weet niet zeker of dat werkt, kan je misschien je .htaccess-bestand delen?

Dat met het CSS-bestand is een vrij logisch gevolg, aangezien je met een slash achter je 404-url eigenlijk een submap opent. Dit kan je oplossen door in je 404-errorpagina de verwijzing naar het CSS-bestand (in het head-gedeelte van je pagina) absoluut te maken, dus in plaats van

moet je er dit van maken:


Succes!
(Lees meer...)
Verwijderde gebruiker
11 jaar geleden
Verwijderde gebruiker
11 jaar geleden
Bedankt voor de snelle reactie! Ga ik proberen! Als het goed is staat het .htacces-bestand in de vraag. Hier voor de zekerheid nog een keer: RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
ErrorDocument 404 /404 Ik wil dus graag alles in een keer door laten verwijzen en niet pagina voor pagina gezien de hoeveelheid.
Verwijderde gebruiker
11 jaar geleden
Hé, sorry, had ik overheen gelezen! Heel veel ervaring heb ik niet met het .htaccess-bestand, maar kan je niet iets schrijven waardoor de slash wordt weggehaald uit de URL?
RewriteRule ^(.+[^/])/$ http://%{HTTP_HOST}/$1 [R=301,L]

(afgekeken van Stackoverflow). Deze rule matcht alles behalve de laatste slash.
(Lees meer...)
Verwijderde gebruiker
11 jaar geleden

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 5000
Gekozen afbeelding