Goedendag iedereen,

Ik ontwikkel lokaal een website, ik in httpd-vhosts een verwijzing gemaakt voor framework.nl .../www/mijnframework/public_html (hier bevind zich index.php) en dit heb ik ook doorgevoerd in me HOST file. dus als ik de URL framework.nl invoer in me browser kom ik netjes op mijn startpagina terecht.

maar wanneer ik ga door me website heen ga browsen: bijvoorbeeld: framework.nl/users of framework.nl/users/edit. dan krijg ik een 404 error: bijv. "URL/users not found".

Het voor mijn systeem belangrijk dat alle 'requests' voor framework.nl naar /www/mijnframework/public_html/index.php (DOCUMENT_ROOT) geleid worden.

Dus:
1: ik weet dat de URL framework.nl het goed doet.
2: Alle page 'request' moeten naar index.php geleid worden.
3: De URL structuur moet behouden worden.

Ik heb niet veel ervaring met het inrichten van het .htaccess bestand en loop nu al een tijdje te martelen.

Mijn vraag is: hoe moet ik mijn .htacces configureren zodat alle urls (framework.nl, framework.nl/users, etc..) naar mijn index.php worden herleid.

Ik hoop dat mijn vraag een beetje duidelijk is, en alvast bedankt voor jullie aandacht :)

Groet,

Jelte.
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]


Dit is niet letterlijk een redirect (een omleiding of doorverwijzing), maar geeft wel alles door aan index.php, zodat je aansluitend daarin de URL kunt afhandelen. Was dat de bedoeling?
Bedankt voor je reactie dit werkt inderdaad de URL's worden nu goed afgehandeld.

Maar er is direct iets wat mij opvalt. bijvoorbeeld de pagina: framework.nl/user wordt 2 keer aangeroepen.

Nu kan het denk ik aan het volgende liggen:

1: De documentRoot (ingesteld in httpd.vhosts.conf)van framework.nl is: www/framework/public_html. in deze pagina bevind zich de index. Dus wanneer je de URL: framework.nl intypt wordt de index aangesproken lijkt me.
2. In www/framework/public_html staat ook de .htacces. Deze wordt ook aangesproken, en deze ziet dat deze URL omgeleid moet worden en gaat redirect naar: index.php

Dus op deze manier wordt de pagina 2x opgehaald. Klopt het dat een volgende oplossing kan zijn:

Omdat framework.nl toch al d.m.v. de vhost defintie in www/framework/public_html uitkomt, en dus wordt index.php aangesproken. hoeft op de precieze URL 'framework.nl' niet omgeleid te worden door de .htacces.

maar is de URL niet precies gelijkt aan de format 'framework.nl' dan moet deze herleid worden naar index.php zodat het systeem inderdaad de URL kan afhandelen.

volgens mij zal dit het volgende effect hebben:

Optie 1: 'framework.nl' wordt aangesproken -> geen .htacces redirect want index.php wordt al aangesproken.
Optie 2: gebruiker navigeer via site of voert de URL 'framework.nl/user/', deze URL bestaat niet (de map/bestand framework.nl/public_html/user bestaat niet fysiek), en deze URL moet dus naar index.php worden geleid om afgehandeld te worden.

Voor deze oplossing zal ik dus een conditie in me .htacces moeten hebben dat: alles wat niet precies gelijk is aan: framework.nl moet redirected worden.

PS: nu ben ik niet helemaal zeker van optie 2: want daar kan ook nog wel eens het geval zijn ook de index.php aangesproken wordt (en daarna/of voor dit de .htacces) in dit geval zal alsnog de pagina 2x geladen worden. Maar laten we alles eerst stap voor stap doen ;)


Reageren