[PHP/Apache] Mod rewrite probleem

Pagina: 1
Acties:

Onderwerpen


  • RickvanHaas
  • Registratie: Oktober 2004
  • Laatst online: 15-05-2024
Hey,

Ik hoop dat ik in dit forum goed zit, de mod-rewrites bevinden zich naar mijn idee een beetje in het schemergebied, vandaar.

Het gaat om het volgende:
Ik wil www.domein.nl/test/mensen/naam laten redirecten naar www.domein.nl/test/mensen/index.php?naam=naam

Dat doe ik nu met een mod-rewrite, maar het probleem is dat de naam-variabele om één of andere reden niet wordt meegegeven. Ik heb nu dit staan:
code:
1
2
RewriteEngine On
RewriteRule ^mensen/(.*) mensen/index.php?naam=$1


Ook zou ik graag willen weten in welke map ik die .htaccess moet plaatsen. Kan ik dat het beste doen in /test of in /test/mensen?

Alvast bedankt
Rick

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Probeer het eens uit? ;)

Tip: als je het in test/mensen zet, en je gaat daarin nog de "map" /mensen verwerken, wat krijg je dan? ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • RickvanHaas
  • Registratie: Oktober 2004
  • Laatst online: 15-05-2024
Dat lijkt me een beetje dubbelop inderdaad. Maar wat ik me vooral afvraag is waarom die index.php gewoon zo blijft, en niet in het gewenste index.php?naam=naam veranderd. Zit er een foutje in de code die ik gaf?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Probeer dit eens?
code:
1
2
RewriteEngine On
RewriteRule ^mensen/(.*)$ mensen/index.php?naam=$1

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 26-08 09:08

Kippenijzer

McFallafel, nu met paardevlees

Kan aan mij liggen, maar moet je niet ook een uitzondering maken voor index.php zelf, voor je de match doet, anders zal hij toch recursief index op zichzelf gaan mappen, en dus nooit werken?

  • RickvanHaas
  • Registratie: Oktober 2004
  • Laatst online: 15-05-2024
Om één of andere reden krijg ik, als ik via PHP de $_SERVER['QUERY_STRING'] opvraag het volgende:

naam=index.php

Terwijl dat zou moeten zijn

naam=naam

Dat gebeurt ook met de code die je me gaf.

Nogmaals bedankt

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Dat is inderdaad die dubbele replace die Kippenijzer noemt. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • chris
  • Registratie: September 2001
  • Laatst online: 11-03-2022
Kan je het niet gewoon naar die index.php laten redirecten? Dan kan je alsnog met $_SERVER["REQUEST_URI"] de variabelen ophalen. Deze kan je weer gaan splitten op een "/". Zo doe ik het altijd :)

  • RickvanHaas
  • Registratie: Oktober 2004
  • Laatst online: 15-05-2024
@Chris: Ik doe het liever met een mod rewrite

Hoe kan ik een uitzondering maken voor de index zelf, zoals Kippenijzer voorstelde?

Nogmaals dank
Rick

  • Kippenijzer
  • Registratie: Juni 2001
  • Laatst online: 26-08 09:08

Kippenijzer

McFallafel, nu met paardevlees

iets met een uitroepteken. Lees de manual van mod_rewrite en er zal een wereld voor je opengaan (of zoek op het uitroepteken in de voorbeelden die ze erbij geven)

  • RickvanHaas
  • Registratie: Oktober 2004
  • Laatst online: 15-05-2024
Er zal dus een uitzondering moeten komen voor de pagina waarop men zich op dat moment bevindt. Ik had verwacht dat
code:
1
RewriteCond  %{HTTP_REFERER}  ^index.php.*
zou volstaan, maar die werkt dus niet.

  • RickvanHaas
  • Registratie: Oktober 2004
  • Laatst online: 15-05-2024
De oplossing is gevonden!

code:
1
2
3
RewriteEngine On 
RewriteCond %{REQUEST_URI} !index\.php 
RewriteRule (.*) index.php?naam=$1


Iedereen bedankt voor de hulp.
Pagina: 1