Momenteel gebruik ik een htaccess om alle URL's na de forward slash van mijn domein door te sturen naar een bepaald bestand, namelijk redirect.php. Is er enige mogelijkheid om bepaalde URL's te excluden? Ik wil bijv. mijn contact pagina nog wel gewoon laten zien (welke voorheen op /contact/) stond en via htaccess en een page class wordt geinclude vanuit een map/contact.inc.php..
Ik gebruik de volgende htaccess file:
<?php
Options +FollowSymlinks
RewriteEngine on
Waarom de force redirect flag achter je rewriterule?
En als alles wordt doorverwezen naar redirect.php dan kan je toch in redirect.php hetgeen aanpassen wat je wilt?
De manier die jij gebruikt heeft juist het voordeel van een eenvoudige htaccess en dat je de rest afhandelt middels php.
Kijk ook eens naar bootstrap (google) en zie daar hoe je simpel maar zeer effectief mooie en eenduidige url's kan maken en parsen. Door middel van de $_SERVER['REQUEST_URI'] kan je de url's parsen en de juiste informatie tonen.
De controller geeft aan welk bestand geinclude moet worden. De action geeft aan wat er precies moet gebeuren (bijvoorbeeld wijzigen, toevoegen, verwijderen, bekijken, etc.). En de id is optioneel en geeft aan welk onderdeel weergegeven moet worden.
Er zijn zeer veel methoden om vriendelijke url's te genereren. Welke het beste is hangt van jouw systeem af.
Het is voor een url shortener, dus vandaar dat er geen method tussen kan. Ik begrijp de opbouw van je URL volledig, maar is in dit geval niet echt toepasselijk. Mijn idee was inderdaad ook om het met PHP af te handelen, maar dan zou ik alsnog de URL 'http://example.com/redirect.php?id=contact' in mijn adresbalk houden. Er zal ongetwijfeld een manier via htaccess zijn hiervoor.
Wat de force flag daarachter doet weet ik niet, ik ben een leek op het gebied van htaccess en deze is samengesteld d.m.v. diverse bronnen op het internet..
Nee, je houdt die redirect.php?id=contact niet in de adressenbalk als je de [R] weghaalt. Het voordeel van vriendelijke url's is op jouw manier geheel verdwenen.
Die zorgt ervoor dat een redirect plaatvindt in plaats van een onzichtbare rewrite. Een redirect zorgt er voor dat de url (zichtbaar) herschreven wordt naar redirect.php?id=....
Die zorgt ervoor dat een redirect plaatvindt in plaats van een onzichtbare rewrite. Een redirect zorgt er voor dat de url (zichtbaar) herschreven wordt naar redirect.php?id=....
Top, thanks voor je hulp! Kom er zo wel uit denk ik :-)