
Vrijdag 23 Mei 2008 21:45 Laatste aanpassing (Vrijdag 23 Mei 2008 21:52)
Webdesign
Op mijn website heb ik een portfolio-gedeelte. Als je via het menu op portfolio klikt, kom je hier terecht. De URL ziet er als volgt uit: http://www.dwarshuis.com/portfolio
Het lijkt er op dat er op de webserver een directory bestaat met de naam portfolio. Dat is echter niet zo. Het is een URL en meer niet.
Wat zou er nu gebeuren als ik een echte directory aanmaak op de server met de naam portfolio, met daarin een index-file? Als ik dit doe en ik maak http://www.dwarshuis.com/portfolio/index.htm aan dan wordt dit bestand weergegeven.
Waarom? Omdat de webserver voorrang geeft aan .htm-bestanden boven .php-bestanden (mijn website draait op Joomla!, dat weer gebruik maakt van PHP).
Maar wat gebeurt er als ik de index.htm verander in index.php?
Ik zou zeggen, meet het en je weet het :-)
Echter, via het .htaccess bestand kun je regelen hoe deze volgorde afgehandeld wordt. Zie de volgende code.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/index.php
RewriteCond %{REQUEST_URI} (/|.php|.html|.htm|.feed|.pdf|.raw|/[^.]*)$ [NC]
RewriteRule (.*) index.php
Deze code bepaalt dat de door Joomla! gegenereerde URL voorrang krijgt op een echte directory op de webserver.
Het is dat Paul Boekholt en Allard Hoeve van Byte het me hebben uitgelegd, anders had ik het niet geweten. Het script snappen doe ik niet, das voor later.