Ik gebruik op mijn website de onderstaande code in mijn .htacces bestand:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/?$ index2.php?page=$1
Als ik nu de link http://www.website.nl/home gebruik, dan werkt alles correct.
Gebruik ik dezelfde link, maar dan met een / op het eind, dan is de opmaak van mijn website verdwenen en wordt als variabele "home/" doorgegeven.
Haal ik de ? in de RewriteRule weg, dan wordt de variabele goed doorgegeven, maar is de opmaak van mijn website nog steeds verdwenen. Tevens werkt de link dan niet meer zonder / op het eind.
Ik heb geen idee waar ik de fout moet zoeken. Kan iemand mij misschien op weg helpen?
Je afbeeldingen worden ook gerewrite en zullen vanaf die plek ook worden gezocht en dat levert veel problemen op.
Het beste is om een base element als eerste in de HEAD te zetten. Hierin geef je aan wat de base url is voor alle afbeeldingen/stylesheets/javascripts, kortom assets, is:
In dit voorbeeld wordt de stylesheet geladen uit /assets_base/css/style.css; de afbeelding uit /assets_base/img/logo.png; de scripts uit /assets_base/js/script.js.
Je kunt de base natuurlijk ook instellen op de root: href="http://jouwwebsite.nl/"
Reactie op TJVB tvb:
Als ik dat doe, werkt de site nog steeds niet zonder de / aan het eind. Het is de bedoeling dat de site werkt met en zonder / aan het eind.
En het is toch vreemd dat de layout wel werkt zonder / op het eind, en met niet.
Met de RewriteCond sluit ik bestaande bestanden uit van de RewriteRule.
De bovenstaande code die ik gebruik, is geheel conform de tutorial op deze website.
[size=xsmall]Toevoeging op 24/09/2012 16:55:56:[/size]
Als ik het adres van de stylesheets aanroep, krijg ik gewoon de stylesheet te ziet, en wordt er geen mod_rewrite uitgevoerd.
@Wouter J
Dat lost het probleem ook niet op, ik zie geen enkele verandering
Ik ben er inmiddels wel achter dat wanneer ik http://kraamzorgcora.nl/home/ gebruik, de website de stylesheets en afbeeldingen probeerd te laden uit de directory /home/. Voor de css stylesheets heb ik dit inmiddels opgelost, alleen voor afbeeldingen in de stylesheets gebruik ik ../../ om terug te gaan naar de root van de site. Als hij gaat zoeken in de directory /home/, zou er dus nog een ../ toegevpegd moeten worden.
Dit zou toch opgelost moeten kunnen worden in het .htacces bestand? Volgens de turotial heb ik bestaande bestanden uitgesloten van de RewriteRule middels de RewriteCond.