Ondersteuning gevraagd voor .htaccess-file

Status
Niet open voor verdere reacties.
Wat wil je dan? ;)

Het belangrijkste om te begrijpen is welke "regels" je toe wil passen. Als je eenmaal een idee hebt van de regels en de samenhang daartussen is de rest alleen nog maar opschrijven.
 
Google-technisch is de tweede optie waarschijnlijk beter, maar dan moet je PHP dat natuurlijk wel aankunnen. Wat je met .htaccess kunt doen is herschrijven, maar het heeft verder weinig intelligentie. Je kunt "gefreesde-producten" meegeven aan een script, die dat eventueel intern eerst vertaald naar een handiger formaat. In principe kan dit gewoon een standaard include zijn in je index.php of eventueel via een database connectie.

Gaat de informatie altijd naar index.php? In dat geval is het vaak beter om alle informatie gewoon naar index.php te sturen en de intelligentie in index.php te stoppen. Index.php krijgt dan 0,1,2 of 3 argumenten mee in de "page" variabele. In plaats van page=home kun je dan ook page=(leeg) voor de homepage gebruiken.

In principe is dit ook grotendeels uit te spinnen in .htaccess, maar de performance van htaccess is veel lager dan php en het onderhoud is een stuk lastiger.
 
Volgens mij zoek je zoiets:

Code:
RewriteRule ^$ /index.php?pagina=home [L]
RewriteRule ^([^/]*)/$ /index.php?pagina=$1 [L]
RewriteRule ^([^/]*)/([^/]*)/$ /index.php?pagina=$1&$2 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/$ /index.php?pagina=$1&$2&$3 [L]

let wel: deze code werkt alleen als de URL 100% zeker is afgesloten met een "/" dus moet je dat eerst verzekeren:

Code:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ /$1/ [L,R=301]

RewriteRule ^$ /index.php?pagina=home [L]
RewriteRule ^([^/]*)/$ /index.php?pagina=$1 [L]
RewriteRule ^([^/]*)/([^/]*)/$ /index.php?pagina=$1&$2 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/$ /index.php?pagina=$1&$2&$3 [L]
 
Volgens mij zoek je zoiets:

Code:
RewriteRule ^$ /index.php?pagina=home [L]
RewriteRule ^([^/]*)/$ /index.php?pagina=$1 [L]
RewriteRule ^([^/]*)/([^/]*)/$ /index.php?pagina=$1&$2 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/$ /index.php?pagina=$1&$2&$3 [L]

let wel: deze code werkt alleen als de URL 100% zeker is afgesloten met een "/" dus moet je dat eerst verzekeren:

Code:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ /$1/ [L,R=301]

RewriteRule ^$ /index.php?pagina=home [L]
RewriteRule ^([^/]*)/$ /index.php?pagina=$1 [L]
RewriteRule ^([^/]*)/([^/]*)/$ /index.php?pagina=$1&$2 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/$ /index.php?pagina=$1&$2&$3 [L]

Beste,

toch lukt het nog niet helemaal. Ik heb bovenstaande code opgeslagen in een bestandje .htaccess en geupload.
Hoe moet ik nu de links doen? In 't verleden had ik dat gedaan via diensten.html ipv index.php?pagina=diensten
maar dat lukt nu niet.

Kun je nog helpen? ;)

Herbert
 
Kun je nog even iets meer vertellen over wat je bedoeld met "hoe moet ik nu de links doen"?

Als het goed is komt:

domein.nl/ nu op /index.php?pagina=home
domein.nl/diensten/ gaat nu naar /index.php?pagina=diensten

Indien je dit deel nog aan het debuggen bent zou ik even een tijdelijke index.php maken die gewoon de inhoud van de "pagina" echo'd zodat je kan zien hoe en waar de pagina aangesproken wordt.
 
Als ik nu naar domein.nl/ ga, dan krijg ik als tekst te zien "dus..." - weet niet waar dat vandaan komt.
Hij staat nu op een dev.domein.nl/klantnaam/ en ik denk dat hij nu een niveau hoger kijkt naar de index.php
 
Dat kan afhankelijk welke .htaccess je hebt aangepast en wat je rewritebase is. Daarom is dit soort dingen op afstand altijd een beetje koffiedik kijken ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan