Toon posts:

[mod_rewrite] conflict tussen twee rewrite regels

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste tweakers; ik hoop dat ik in het goede forum zit!

Mijn probleem:

Ik heb drie rewrite regels en een php-script dat de parameters uit de url pakt, die controleert op aanwezigheid in een database en vervolgens de juiste pagina print in html. Ik denk echter, dat twee regels met elkaar confliceren. Afzonderlijk (als de ander uitgecomment is) doen ze het prima, maar samen niet (vanuit .htaccess een redirect naar 404-pagina)

Een korte uitleg van de parameters en de bedoeling ervan:
$p = een $_GET met de naam van een pagina die in een database staat
$newsurl = een $_GET met de naam van een nieuwsitem die in een database staat
$path = een recursief breadcrumbachtig pad vanaf $_GET naar de rootpagina; kann meerdere niveau's hebben en in dit pad kunnen dus ook slashes voorkomen.
code:
1
2
3
RewriteRule ^([0-9-a-zA-Z]+)/$  index.php?p=$1
RewriteRule ^nieuws/(.*)/$      index.php?p=nieuws&newsurl=$1
RewriteRule ^(.*)\/(.*)/$       index.php?path=$1&p=$2
Voorbeeldurls die hieruit zouden moeten komen, zijn:
http://testsite/nieuws/
http://testsite/nieuws/2006-06-17-plop/
http://testsite/diensten/marketing/marketing-tools/google-analytics/voorbeelden/voorbeeld1/enzo


Ik zit met mijn handen in mijn spreekwoordleijke haar (ik heb er drie, maar toch), dus ik hoop dat iemand me een zetje in de juiste richting kan geven!

  • Koetjeboe
  • Registratie: Maart 2002
  • Laatst online: 15-02 23:09

Koetjeboe

Boe, zegt de koe

RewriteRule ^([0-9-a-zA-Z]+)/$ index.php?p=$1 [L]
RewriteRule ^nieuws/(.*)/$ index.php?p=nieuws&newsurl=$1 [L]
RewriteRule ^(.*)\/(.*)/$ index.php?path=$1&p=$2 [L]
Probeer dit eens...hiermee krijg je dat als 1 regel matched, hij de andere niet meer uitvoert

En moet [0-9-a-zA-Z] moet dat niet [0-9a-zA-Z] worden?

[ Voor 15% gewijzigd door Koetjeboe op 27-06-2006 15:44 ]


  • Salandur
  • Registratie: Mei 2003
  • Laatst online: 12:58

Salandur

Software Engineer

draai wel de eerste 2 om, anders wordt de nieuws rewrite niet uitgevoerd

Assumptions are the mother of all fuck ups | iRacing Profiel


Verwijderd

Topicstarter
w00t 2 minuten en al het juiste reply... :) Hier was ik dus al ruim drie uur mee aan het klote he :p

maar het was die die flag [L] die 't 'm deed...

Mijn dank is gr00t (heel groot)!

  • Koetjeboe
  • Registratie: Maart 2002
  • Laatst online: 15-02 23:09

Koetjeboe

Boe, zegt de koe

Salandur schreef op dinsdag 27 juni 2006 @ 15:47:
draai wel de eerste 2 om, anders wordt de nieuws rewrite niet uitgevoerd
Wel, want die heeft waarschijnlijk altijd iets van een id erachter staan (/nieuws/23/)
Verwijderd schreef op dinsdag 27 juni 2006 @ 15:48:
w00t 2 minuten en al het juiste reply... :) Hier was ik dus al ruim drie uur mee aan het klote he :p

maar het was die die flag [L] die 't 'm deed...

Mijn dank is gr00t (heel groot)!
:Y)

[ Voor 37% gewijzigd door Koetjeboe op 27-06-2006 15:49 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 22-01 23:51

NMe

Quia Ego Sic Dico.

'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.


Verwijderd

Topicstarter
Ik heb 'm er netjes achter gezet, maar o zich deed ie het al; er komt geen id achter, maar wellicht deed ie het wel omdat ik in een andere regel in htacces aangegeven had dat er altijd een traling slash moet zijn.

Verwijderd

Topicstarter
Ah dus toch. Ik zat al te twijfelen, maar had 'm uiteindelijk heirin gezet omdat ik niet werk met een windows server en omdat er ook een kans was dat er iets fout was met min php-script :p
Pagina: 1