.php verwijderen van url ( query probleempje )

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Peter Louwer

Peter Louwer

10/10/2014 19:06:22
Quote Anchor link
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 :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
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>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?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
Gewijzigd op 10/10/2014 19:07:58 door Peter Louwer
 
PHP hulp

PHP hulp

17/01/2022 01:41:46
 
Justin Gaatjeniksaan

Justin Gaatjeniksaan

11/10/2014 00:45:31
Quote Anchor link
Hey,

Probeer dit eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
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]
 
Peter Louwer

Peter Louwer

11/10/2014 02:38:52
Quote Anchor link
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
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

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?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.
Gewijzigd op 11/10/2014 02:39:10 door Peter Louwer
 
Ivo P

Ivo P

11/10/2014 10:25:09
Quote Anchor link
Gebruik eens absolute paden in je script / html



Toevoeging op 11/10/2014 10:26:41:

En om 2 topic aan elkaar te verbinden
http://www.pfz.nl/forum/topic/10928-php-url-rewrite/
 
Peter Louwer

Peter Louwer

11/10/2014 13:48:24
Quote Anchor link
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?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
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
nederland
zh/rdam
land=nederland&provincie=zh/rdam
Gewijzigd op 11/10/2014 15:44:32 door Peter Louwer
 
Patrick B

Patrick B

11/10/2014 15:47:19
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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.
Gewijzigd op 11/10/2014 15:48:03 door Patrick B
 
Peter Louwer

Peter Louwer

11/10/2014 15:49:38
Quote Anchor link
Yeah! Werkt!!
RewriteRule ^statistics/([^/]+)/(.*)/(.*)$

bedankt voor alle hulp!
Gewijzigd op 11/10/2014 16:01:36 door Peter Louwer
 



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.