Hoi allemaal,

[color=red]Ondertussen opgelost...[/color]

Ik loop met mijn RewriteEngine ergens tegen een foutje aan.
Wat ik heb:

RewriteEngine On
RewriteBase /

RewriteRule ^topic/reply/(.*)/?$     post-add.php?id=$1 [L]

...


Als ik nu naar "<host>/topic/reply/1/" ga, dan krijg ik als output van print_r($_GET) het volgende:

Array
(
    [id] => 1/
)


Iemand een idee waar het fout loopt? Voor de rest zijn er geen rules meer voor topic/reply/...


Extra info:
Bij andere pagina's treedt dit effect ook op:
Als ik naar "<host>/forum/1/" ga, dan krijg ik voor de get opnieuw het volgende:

Array
(
    [id] => 1
    [start] => 
)


De heel htaccess file (tot nu toe :) ):

RewriteEngine On
RewriteBase /

RewriteRule ^forum/(.*)/(.*)/?$      forum.php?id=$1&start=$2 [L]
RewriteRule ^forum/(.*)/?$      forum.php?id=$1

RewriteRule ^topic/reply/(.*)/?$      post-add.php?id=$1 [L]
RewriteRule ^topic/(.*)/(.*)/?$      topic.php?id=$1&start=$2 [L]
RewriteRule ^topic/(.*)/?$      topic.php?id=$1

RewriteRule ^login/?$      login.php
RewriteRule ^logout/?$      logout.php


Oplossing
(.*) veranderd door ([0-9]+) :)
.* is ook [google]greedy[/google].
Zelf laat ik altijd php de urls oplossen.
Is inderdaad ook een mogelijkheid. Maar dan moet ik daarvoor eerst nog een parser schrijven, en dat leidt me voor het moment te ver om :)

Is volgens mij wel een goed oefening voor op een ander moment, hoewel het eigenlijk gewoon wat goochelen met strings en explode op / is. (niet?)

Reageren