Hey, ik ben nieuw hier op phphulp dus ik hoop dat ik in de juiste forum sectie zit!

Ik ben een jaar geleden begonnen met php en kon vaak de oplossing voor problemen online vinden.

Helaas kom ik bij dit probleem niet verder, ik hoop dat jullie mij kunnen helpen of adviseren.

Ik heb een aantal .php pagina's op mijn website die ik wil wegwerken met RewriteEngine :

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]


Dit werkt prima en ziet er netjes uit in de url bar :
http://website.nl/info.php
http://website.nl/info

Nu heb ik op mijn info pagina page een script dat de query leest en de juiste class include.
<body>
<?php
// Kijk of de gebruiker land request
if(isset($_GET['land'])){
include("class.land.php");

// Kijk of de gebruiker provincie request
} else if(isset($_GET['provincie'])){
include("class.provincie.php");

// Zo niet, laad dan main
} else {
include("class.main.php");
}
?>
</body>

Helaas werkt dit niet meer zodra ik de url verander met RewriteEngine.
Mijn vraag, is het mogelijk op de query ook te veranderen in de url?

http://website.nl/info.php?land=nederland
http://website.nl/info/land/nederland

Alvast bedankt voor het lezen en jullie tijd!

Groetjes Minouk
Hey,

Probeer dit eens:

RewriteEngine On
RewriteRule ^([a-za-z0-9\-_]+)(|/)$ $1.php [nc]
RewriteRule ^([a-za-z0-9\-_]+)/([a-za-z0-9\-_]+)/([a-za-z0-9\-_]+)(|/)$ $1.php?$1=$2 [nc]
Bedankt voor de reactie, helaas wil het niet lukken.
Ik denk dat er iets fout gaat in het php script.

http://site.nl/info.php?land=nederland&provincie=zuid-holland&stad=rotterdam
naar
http://site.nl/info/nederland/zuid-holland/rotterdam

.htaccess

RewriteEngine On 
RewriteBase / 

RewriteRule ^info/(.*)/(.*)/(.*)/$ info.php?land=$1&provincie=$2&stad=$3 [L] 
RewriteRule ^info/(.*)/(.*)/$ info.php?land=$1&provincie=$2 [L] 
RewriteRule ^info/(.*)/$ info.php?land=$1 [L]


info.php

<?php

// Stad informatie
if (isset($_GET["land"], $_GET["provincie"], $_GET["stad"])){
include('tabel.stad.php');

// Provincie informatie
} elseif (isset($_GET["land"], $_GET["provincie"])){
include('tabel.provincie.php');

//Land informatie
} elseif (isset($_GET["land"])){
include('table.land.php');

// Landing Page
} else {
include('tabel.algemeen.php');
}
?>

Volgens mij gaat er iets verkeerd, maar kan het niet zien.
Hey Ivo, bedankt voor je reactie.
Heb jij misschien een voorbeeld of tutorial link hier voor?
Ik krijg veel verschillende resultaten op google.

Alvast bedankt

Volgens mij ben ik er bijna

.htaccess

RewriteEngine On
RewriteRule ^info/([^/]+)/(.*)$/(.*)$ informatie.php?land=$1&provincie=$2&stad=$3 	[L]
RewriteRule ^info/([^/]+)/(.*)$ informatie.php?land=$1&provincie=$2      		[L]
RewriteRule ^info/([^/]+) informatie.php?land=$1           				[L]


--> http://website.nl/informatie.php?land=nederland&provincie=zh&stad=rdam
--> http://website.nl/info/nederland/zh/rdam

informatie.php
<?php
echo $_GET["land"].'<br>';
echo $_GET["provincie"].'<br>';
echo $_GET["stad"].'<br>';
echo $_SERVER['QUERY_STRING']'<br>';
?>

Helaas pakt hij de derde parameter niet, enig idee waar het fout gaat ?
Derde query word aan de tweede geplakt

echo

nederland
zh/rdam
land=nederland&provincie=zh/rdam
RewriteRule ^info/([^/]+)/(.*)$/(.*)$ informatie.php?land=$1&provincie=$2&stad=$3  

Hier gaat het waarschijnlijk fout.
Ik heb zelf niet veel ervaring met rewrite rules.
Dus je moet even wachten op iemand die er meer van weet.
Yeah! Werkt!!
RewriteRule ^statistics/([^/]+)/(.*)/(.*)$

bedankt voor alle hulp!

Reageren