htaccess
Hallo,
Ik zoek een htaccess scriptje dat ik url's kan veranderen
Ik wil bijvoorbeeld www.website.nl/v2/?p=profiel&gebruiker=naam dat dat wordt:
www.website.nl/v2/profiel/naam
*Die v2 is voor omdat ik nu een nieuwe website aan het maken ben op de zelfde domeinnaam. dit wordt later omgezet zonder v2.
Heeft iemand hier een scriptje voor?
Ik zoek alleen dat ik het appart kan schakelen. dus elke pagina andere regel in de htaccess.
Alvast bedankt,
Toevoeging op 27/02/2012 14:52:43:
RewriteRule ^/profiel/(.*) index.php?p=profiel&gebruiker=$1
Ik kreeg deze maar die werktte niet.
Ik zoek een htaccess scriptje dat ik url's kan veranderen
Ik wil bijvoorbeeld www.website.nl/v2/?p=profiel&gebruiker=naam dat dat wordt:
www.website.nl/v2/profiel/naam
*Die v2 is voor omdat ik nu een nieuwe website aan het maken ben op de zelfde domeinnaam. dit wordt later omgezet zonder v2.
Heeft iemand hier een scriptje voor?
Ik zoek alleen dat ik het appart kan schakelen. dus elke pagina andere regel in de htaccess.
Alvast bedankt,
Toevoeging op 27/02/2012 14:52:43:
RewriteRule ^/profiel/(.*) index.php?p=profiel&gebruiker=$1
Ik kreeg deze maar die werktte niet.
werkt dit?
@Aar ik zou het nog wat flexibeler maken:
Kevin, je weet wel dat je hiermee domein.nl/v2/profiel/naam doorstuurt naar domein.nl/v2/index.php?p=profiel&gebruiker=name en niet andersom? En heb je wel de mod_rewrite module aanstaan op Apache?
Code (php)
1
2
3
4
5
2
3
4
5
RewriteEngine On
RewriteBase /
RewriteRule ^/v2/(\w*?)/(.*?)$ /v2/$1/$2
RewriteRule ^/v2/(\w*?)$ /v2/$1/
RewriteBase /
RewriteRule ^/v2/(\w*?)/(.*?)$ /v2/$1/$2
RewriteRule ^/v2/(\w*?)$ /v2/$1/
Kevin, je weet wel dat je hiermee domein.nl/v2/profiel/naam doorstuurt naar domein.nl/v2/index.php?p=profiel&gebruiker=name en niet andersom? En heb je wel de mod_rewrite module aanstaan op Apache?
Hallo,
Heb het inmiddels opgelost!
Heb het zo gedaan:
RewriteEngine On
RewriteRule ^profiel/(.*) index.php?p=profiel&gebruiker=$1
Maar nu had ik nog een vraag:
RewriteRule ^forum index.php?p=forum
RewriteRule ^forum/(.*) index.php?p=forum&cat=$1
Als ik deze 2 tegelijk in htaccess zet, werkt de 2de niet.
Hoe kan dat?
www.website.nl/forum/topic/324/2
Hoe maak ik dit in htaccess?
RewriteRule ^forum/topic/page/(.*) index.php?p=forum&showtopic=$1&page=????????
Wat moet op de plek van het ?
Heb het inmiddels opgelost!
Heb het zo gedaan:
RewriteEngine On
RewriteRule ^profiel/(.*) index.php?p=profiel&gebruiker=$1
Maar nu had ik nog een vraag:
RewriteRule ^forum index.php?p=forum
RewriteRule ^forum/(.*) index.php?p=forum&cat=$1
Als ik deze 2 tegelijk in htaccess zet, werkt de 2de niet.
Hoe kan dat?
www.website.nl/forum/topic/324/2
Hoe maak ik dit in htaccess?
RewriteRule ^forum/topic/page/(.*) index.php?p=forum&showtopic=$1&page=????????
Wat moet op de plek van het ?
Je moet altijd eerst de meeste parameters plaatsen en dan de mindere. Voorbeeld:
Merk op dat ik hier de L flag gebruik. Dit is om ervoor te zorgen dat als de eerste rule werkt hij niet verder gaat met de andere, dit is volgens mij wat sneller.
Code (php)
1
2
3
2
3
RewriteRule ^/page/(.*?)/(.*?)$ index.php?p=page&foo=$1&bar=$2 [L]
RewriteRule ^/page/(.*?)$ index.php?p=page&foo=$1 [L]
RewriteRule ^/page$ index.php?p=page
RewriteRule ^/page/(.*?)$ index.php?p=page&foo=$1 [L]
RewriteRule ^/page$ index.php?p=page
Merk op dat ik hier de L flag gebruik. Dit is om ervoor te zorgen dat als de eerste rule werkt hij niet verder gaat met de andere, dit is volgens mij wat sneller.
Wouter J op 28/02/2012 13:07:52:
Je moet altijd eerst de meeste parameters plaatsen en dan de mindere. Voorbeeld:
Merk op dat ik hier de L flag gebruik. Dit is om ervoor te zorgen dat als de eerste rule werkt hij niet verder gaat met de andere, dit is volgens mij wat sneller.
Code (php)
1
2
3
2
3
RewriteRule ^/page/(.*?)/(.*?)$ index.php?p=page&foo=$1&bar=$2 [L]
RewriteRule ^/page/(.*?)$ index.php?p=page&foo=$1 [L]
RewriteRule ^/page$ index.php?p=page
RewriteRule ^/page/(.*?)$ index.php?p=page&foo=$1 [L]
RewriteRule ^/page$ index.php?p=page
Merk op dat ik hier de L flag gebruik. Dit is om ervoor te zorgen dat als de eerste rule werkt hij niet verder gaat met de andere, dit is volgens mij wat sneller.
Code (php)
1
2
3
2
3
RewriteRule ^forum/cat/(.*) index.php?p=forum&cat=$1
RewriteRule ^forum/topic/(.*) index.php?p=forum&showtopic=$1
RewriteRule ^forum index.php?p=forum
RewriteRule ^forum/topic/(.*) index.php?p=forum&showtopic=$1
RewriteRule ^forum index.php?p=forum
heb ze op deze volgorde, en nu werkt de bovenste en de middelste niet.
Er moet een / voor index.php?p=...
Jacco Brandt op 28/02/2012 13:15:08:
Er moet een / voor index.php?p=...
Dat werkt al helemaal niet...
Plaats eens een $ achter de eerste expressie op elke regel.
Wouter J op 28/02/2012 13:19:38:
Plaats eens een $ achter de eerste expressie op elke regel.
hoe bedoel je?
Code (php)
1
2
3
2
3
RewriteRule ^forum/cat/(.*)$ index.php?p=forum&cat=$1
RewriteRule ^forum/topic/(.*)$ index.php?p=forum&showtopic=$1
RewriteRule ^forum$ index.php?p=forum
RewriteRule ^forum/topic/(.*)$ index.php?p=forum&showtopic=$1
RewriteRule ^forum$ index.php?p=forum
Zo.
Toevoeging op 28/02/2012 13:44:27:
Code (php)
1
2
3
2
3
RewriteRule ^forum/cat/(.*)/?$ index.php?p=forum&cat=$1
RewriteRule ^forum/topic/(.*)/?$ index.php?p=forum&showtopic=$1
RewriteRule ^forum/?$ index.php?p=forum
RewriteRule ^forum/topic/(.*)/?$ index.php?p=forum&showtopic=$1
RewriteRule ^forum/?$ index.php?p=forum
Zo werkt het ook met een slash erachter (/)
Victor - op 28/02/2012 13:43:17:
Alleen die werkt nu niet.




