GET in url laten werken samen met HTACCESS

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Slim Shady

Slim Shady

16/01/2012 15:57:16
Quote Anchor link
Hallo
Ik heb een htaccess bestand dat de eerste 3 slashes als 'paginas'ziet.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/(.*)/(.*)/$ index.php?page=$1&sub=$2&subsub=$3 [L]
RewriteRule ^(.*)/(.*)/$ index.php?page=$1&sub=$2 [L]
RewriteRule ^(.*)/$ index.php?page=$1 [L]

Maar als ik nu de volgende link heb:
www.url.nl/pagina1/?edit=22

Dan ziet hij de get methode niet meer omdat hij dit als subpagina ziet.

Hoe kan ik alsnog get meesturen en htaccess behouden?

Met vriendelijke groet,
 
PHP hulp

PHP hulp

22/11/2024 22:53:43
 
Pieter Jansen

Pieter Jansen

16/01/2012 16:03:16
Quote Anchor link
Door index.php?page te veranderen naar bijv. edit. Het is niet een nette oplossing wat je nu hanteert, het is te generiek. Een beter manier is door het dynamisch te doen en zelf kijken naar de parameters die meegegeven worden. Wat ik persoonlijk doe is:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]


Dit is eigenlijk alles wat je nodig hebt. Nu worden alle requests teruggekoppeld naar je index.php. Als je nu $_SERVER['REQUEST_URI'] bekijkt, zie je alle strings terug in je URI request, het enige wat je hoeft te doen is dat te gebruiken.

Dus url.nl/pagina1/pagina2/&edit=22 werkt allemaal. Je hebt je 1e param, je sub pagina`s param ( pagina2 ) en een $_GET met kv edit => 22
 
Slim Shady

Slim Shady

16/01/2012 16:15:27
Quote Anchor link
Oh dus niet de variable sleutel met de htaccess meegeeven maar alles doorsturen naar index.php en de URI Request explode.
Begrijp ik dat goed ?
 
Pieter Jansen

Pieter Jansen

16/01/2012 16:18:15
Quote Anchor link
jep. Je $_GET is daarnaast gewoon generiek zoals het hoort. Die kun je daarnaast gewoon gebruiken.
 
Slim Shady

Slim Shady

16/01/2012 16:22:04
Quote Anchor link
Ok heel erg bedankt!
 



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.