2009-06-25 12 views
0

Also meine hässliche php URL zu etwas haben schönere neu geschrieben:erzwingen prettified URL mit mod_rewrite

RewriteEngine On 
RewriteRule ^main/photo([^/\.]+)/?.html$ main/details.php?gid=$2pid=$1 

Aber jetzt möchte ich jemanden zwingen, die

geht
http://www.example.com/main/details.php?gid=20&pid=5 

umleiten zu

htto://www.example.com/main/photo5.html 

Ich habe den folgenden RewriteCond versucht:

RewriteCond %{REQUEST_URI} ^/main/details\.php [NC] 
RewriteRule ^main/details.php?gid=(.*)&pid=(.*) http://www.example.com/main/photo$1.html [R=301,L] 

Aber das hat nicht funktioniert. Irgendwelche Ideen?

Antwort

0

Sie müssen in die request line suchen, um festzustellen, ob der aktuelle Anfrage-URI das Original ist. Außerdem müssen Sie die RewriteCond Direktive verwenden, um die Abfrage des URI zu testen:

RewriteCond %{THE_REQUEST} ^GET\ /main/details\.php 
RewriteCond %{QUERY_STRING} ^(([^&]*&)*)pid=([0-9]+)(&.*)?$ 
RewriteRule ^main/details\.php$ /main/photo%3.html? [L,R=301] 
+0

Ich werde an phot.html? Pid = 5 gesendet. –

+0

@Lenni: FIxed es. – Gumbo

+0

Jetzt werde ich zu photogid = 73 & .html umgeleitet. Welcher Teil bestimmt, was von% 1 erfasst wird? –