RewriteRule
Als jij niet zegt WAT je niet snapt, hoe moeten wij jou dan helpen?
ja ik haal het uit de database oke ?
<a href="index.php?pages=".$rij['pages'].">
dan krijg ik indd
http://testing/index.php?pages=Home bijv
met Rewrite
zo
RewriteRule ^testing/index/(.*) /index.php?pages=$1 [L}
wil ik dat de url verandert in
http://testing/index/home voor seo vriendelijke urls
dit heb ik nu al paar keer gezecht krijg steeds het zelfde antwoord gaat intern naar je index blablabla
snap ik maar waar doet hij het niet dan
en als ik de LINK zo maak
<a href="/testing/index/".$rij['pages']."></a>
dan moet ie toch rewrite? naar
http://localhost/testing/index.php?pages=home
of niet ?
of blijft hij dan
zp
testing/index/home
<a href="index.php?pages=".$rij['pages'].">
dan krijg ik indd
http://testing/index.php?pages=Home bijv
"
Je moet dus niet dit doen:
<a href="index.php?pages=".$rij['pages'].">
maar dit
<a href="/testing/".$rij['pages'].">
Of hoe jij het zelf wil hebben.
Zoals jij wilt dat de url eruit ziet, zo moet je hem ook in je code zetten.
Zo werkt het niet:
www.mijnsite.nl/index.php?pagina=lelijkeurl
wordt =>
www.mijnsite.nl/pagina/mooieurl
Zo werkt het wel:
www.mijnsite.nl/pagina/mooieurl
Wordt via de rewrite rule doorgestuurd naar je index.php bestand. In je index.php kijk je welke pagina is aangeroepen via $_GET['pages'] en op basis daarvan toon je de juiste content.
Quote:
en als ik de LINK zo maak
<a href="/testing/index/".$rij['pages']."></a>
dan moet ie toch rewrite? naar
http://localhost/testing/index.php?pages=home
of niet ?
of blijft hij dan
zp
testing/index/home
<a href="/testing/index/".$rij['pages']."></a>
dan moet ie toch rewrite? naar
http://localhost/testing/index.php?pages=home
of niet ?
of blijft hij dan
zp
testing/index/home
Nee, hij redirect hem intern, dat betekend dat wij niks zien. Het lijkt voor ons alsof we testing/index/home bezoeken, maar in feite bezoeken we index.php?pages=home
Toevoeging op 27/01/2013 17:01:14:
ja dat snap ik dat dat zo is alleen hij doet het niet xD maarja ik ga nog wle ff kijken
Je hebt een pagina die we page1.php noemen. Deze kun je dus aanroepen als domein.nl/page1.php. Nu vind je dit niet mooi en wil je domein.nl/page1 gebruiken. Hiervoor gebruik je HTACCESS. Allereerst moeten we daarvoor de rewrite engine aanzetten en de base (de root in dit geval) instellen:
Goed zover duidelijk. Nu willen we het zo maken dat als je domein.nl/page1 bezoekt je de code van domein.nl/page1.php krijgt. Je hebt niks door, elke bezoeker denkt vrolijk dat ie domein.nl/page1 bezoekt, maar in feite ziet hij domein.nl/page1.php. Dat doen we door deze rule te gebruiken:
Als we nu naar domein.nl/page1 gaan zien we de code van page1.php.
Goed, nu maken we ook een domein.nl/about.php pagina. Deze willen we graag bezoeken via domein.nl/about, hiervoor doen we dus weer hetzelfde:
Code (php)
1
2
3
4
5
2
3
4
5
RewriteEngine On
RewriteBase /
RewriteRule page1 page1.php
RewriteRule about about.php
RewriteBase /
RewriteRule page1 page1.php
RewriteRule about about.php
En ook nu krijgen we about.php te zien terwijl we domein.nl/about bezoeken.
Goed, nu is het helemaal niet praktisch om per pagina zo'n Rule in te stellen. Daarom maken we het variabel, we maken gebruik van Reguliere Expressies om domein.nl/about en domein.nl/page1 te matchen. Alles wat we in deze Reguliere Expressie tussen haken zetten wordt onthouden. In ons geval gebruiken we ^([^.]*)$ wat betekend dat deze Rule wordt aangeroepen als de URL alles behalve een punt bevat. domein.nl/page1 en domein.nl/about worden dus door deze rule behandeld (omdat page1 en about geen punten bevatten).
Nu wordt alles tussen haken onthouden, dat wordt vervolgens in variabele geplaatst die je als $1, $2, $n.. kan oproepen. Waarbij $1 het eerste paar haken voorstelt en $2 het 2e paar en $n het nde paar.
De Rule wordt nu dus:
Als we nu domein.nl/page1 bezoeken zullen we de code zien van page1.php. Als we nu domein.nl/page1.php bezoeken zal deze rule niet worden aangeroepen, hij bevat namelijk een punt. In dit geval zullen we dus gewoon de code van page1.php zien. Dit geldt hetzelfde voor htaccess.
Het is gelukt ik dacht dat ik de map moest rewrite xD.
Maar blijkbaar dus het bestand dus vandaar dat het fout ging.
Mijn excussen :)
ik heb de .HTACCESS en de index.php in de zelfde map staan dsu vandaar.
Gr Nick