RewriteRule

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2

Ozzie PHP

Ozzie PHP

27/01/2013 16:35:15
Quote Anchor link
Als jij niet zegt WAT je niet snapt, hoe moeten wij jou dan helpen?
 
PHP hulp

PHP hulp

18/02/2025 17:34:51
 
Nick van der heijden

nick van der heijden

27/01/2013 16:40:19
Quote Anchor link
kijk ik heb nu dit als link
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
 
Ozzie PHP

Ozzie PHP

27/01/2013 16:46:43
Quote Anchor link
"
<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.
 
Wouter J

Wouter J

27/01/2013 16:57:22
Quote Anchor link
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

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
 
Nick van der heijden

nick van der heijden

27/01/2013 16:58:40
Quote Anchor link
ja dat zeg ik toch de heletijd

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
 
Wouter J

Wouter J

27/01/2013 17:10:31
Quote Anchor link
Goed, we gaan opnieuw beginnen: Je weet nu niks meer van HTACCESS en je hebt nu geen frustratie meer en je doet net alsof je nog niks is uitlegt.

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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
RewriteEngine On
RewriteBase /


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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
RewriteEngine On
RewriteBase /

RewriteRule page1 page1.php


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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
RewriteEngine On
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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
RewriteEngine On
RewriteBase /

RewriteRule ^([^.]*)$ $1.php


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.
 
Nick van der heijden

nick van der heijden

30/01/2013 12:41:49
Quote Anchor link
Beste mensen,

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
 

Pagina: « vorige 1 2



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.