Url / Mod rewrite - Link zonder variabelen
Ik wil mijn urls verbeteren.
Ik heb een pagina: "hulp.php". Deze is eigenlijk onderdeel van een pagina: "producten.php". Beide pagina's staan gewoon in de root.
Nu wil ik dat de link van "hulp.php" niet: http://mijnsite.nl/hulp is maar: http://mijnsite.nl/producten/hulp
Nu kan ik natuurlijk een mapje maken met de naam: producten en hem daar in gooien, maar kan het ook met mod rewrite / url rewrite?
Ben benieuwd!?
Alvast bedankt!
http://www.phphulp.nl/php/tutorial/overig/url-vriendelijkheid-seo/691/
De basis: je herschrijft alle parameters naar slechts 1 GET variabele.
bv.
voorbeeld.nl/voetbal/kalender/deze_week/
wordt herschreven naar
voorbeeld.nl/index.php?p=voetbal/kalender/deze_week/
$_GET['p'] wordt dan 'voetbal/kalender/deze_week/'
Dan kan je met explode("/", $_GET['p']) de variabelen uit mekaar halen.
Simpele .htaccess + het verplicht je even na te denken over hoe je je GET variabelen gebruikt. En uhh, nadenken kan geen kwaad.
Gewijzigd op 29/11/2010 12:19:18 door Kris Peeters
RewriteRule ^new/cappshelp/(.*)/(.*)/ new/cappshelp.php?cat=$1&id=$2
en dan wilde ik de link:
http://www.mijnwebsite.nl/new/cappshelp/producten/hulp
proberen.. dan gaat hij niet naar http://www.mijnwebsite.nl/new/cappshelp
Okee ik ben volgens mij echt dom bezig :(
Gewijzigd op 29/11/2010 19:12:40 door Stefan Hobberts
Blijkbaar heb je die tutorial ook niet doorgelezen, want daar staat een simpele manier duidelijk in.
En ze gebruiken PHP. Kan het niet alleen met .htaccess
Ik heb al zoveel geprobeerd, en volgens mij is het helemaal niet zo moeilijk.
Gewijzigd op 29/11/2010 19:13:40 door Stefan Hobberts
Die methode is sowieso de beste. De implementatie in die tut is niet geweldig, maar het idee is goed.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
Het lijkt alsof hij nog gewoon probeert naar een map producten te gaan, en dan het bestand hulp.
Als ik dit in die htaccess zet:
#help rewrite
RewriteRule ^([^/]+)/([^/]+)/help?$ help.php?pag1=$1&pag2=$2 [L]
RewriteRule ^([^/]+)/([^/]+)/help/?$ help.php?pag1=$1&pag2=$2 [L]
Waarom gaat de link: http://www.mijnwebsite.nl/producten/capps/help dan niet naar: http://www.mijnwebsite.nl/help.php
Ben ik nou zo dom? of is url rewrite erg ingewikkeld?
Toevoeging op 29/11/2010 19:58:11:
Het is gelukt! :D
Ik had het dus al goed getypt, alleen de volgorde in mijn .htaccess was niet goed.
Bedankt voor diegene die probeerde te helpen.