Hey,

Ik vraag me af of er een manier bestaat om bepaalde informatie uit de hyperlink in de adresbalk van je pagina te weren zonder de eigenlijke variabele te verwijderen?

vb. ik heb een pagina www. ... .be/provincie.php?provincie=Limburg en dit zou indien mogelijk www. ... .be/provincie Limburg moeten worden waarbij dat hij nog steeds weet dat hij de informatie uit die specifieke variabele moet gebruiken.

Mvg,
Probeer dit eens:


Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule ^([^/]*)/?$ index.php?page=$1 [NC,L] 
Ook niet, blijf de 404 not found page houden.

RewriteEngine On
RewriteBase /

# eerst afvangen dat we niets doen als de file gevonden wordt
RewriteCond %{REQUEST_FILENAME}         -f [OR]
RewriteCond %{REQUEST_FILENAME}         -d
RewriteRule ^ - [L]

# de rest (mits geen / in url ) naar index.php
RewriteRule ^/([^/]*)/?$ /index.php?page=$1 [R]


De eerste / is volgens mij afhankelijk van je server settings.

Ik heb een [R] geplaatst zodat wat beter zichtbaar is wat gebeurt.
Werkt het, dan daar weer [L] van maken
Als ik jouw volledige code in mijn htaccess plak, dan gebeurt er niets. Geen NotFound pagina, maar evenmin een wijziging in de adresregel.

Ivo P op 26/08/2014 10:13:27


# eerst afvangen dat we niets doen als de file gevonden wordt
RewriteCond %{REQUEST_FILENAME}         -f [OR]
RewriteCond %{REQUEST_FILENAME}         -d
RewriteRule ^ - [L]



Dit begrijp ik niet. Waarom niets doen als de file gevonden wordt? Ik wil toch juist wel wat doen als de file gevonden wordt, want ik wil dat de adresregel dan herschreven wordt.
Men gebruikt de term "herschrijven" nogals eens op een manier dat het lijkt dat je het je net anderom voorstelt.

de rewriterules moeten er voor zorgen dat het niet bestaande

http://example.com/contact

wordt vertaald (op de server) naar http://example.com/index.php?page=contact

maar je wilt niet dat http://example.com/images/foto.jpg ook iets wordt als
http://example.com/index.php?page=images/foto.jpg of zo.

En al helemaal niet dat /index.php wordt vertaald naar index.php?page=index.php en dan weer naar /index.php?page=index.php?page=index.php etc

Daarom de eerste paar regels "als de file bestaat, doe niets"
Das raar, hier op mijn "test-localhost" werkt het prima. Heb je rewrite mod wel geactiveerd in Apache (of wat je ook gebruikt?)?
Ik kan mijn .htaccess file, om deze bovenstaande voorgestelde veranderingen uit te proberen, niet vinden. Heeft iemand een idee waar ik die kan vinden.
.htaccess is een hidden file (want filename begint met een punt)

en staat doorgaans in je document root.
ik kan de juiste .htaccess file nog steeds niet vinden. Ik vind enkel de htaccess files van mijn andere projecten in drupal ed. Is het mogelijk dat ik die van php gewoon niet heb of dat die eerst nog moet aangemaakt worden op een of andere manier.

Mvg,

Reageren