mod_rewrite: Tilføje query streng
mandag, 10. juli 2006, 17:33
Skrevet under: Apache

Jeg har i lang tid brugt mod_rewrite i apache til at lave pænere URLs, jeg rendte dog idag ind i et mindre problem, jeg skal have tilføjet den streng der bliver lavet i en GET til en URL.

Tricket var at det skal bruges i en webservice der sætter nogle parametre på en indtastet URL, så hvis jeg opgav URLen:

http://remotesite.com?id=1234

Ville den bare forsøge at hente URLen:

http://remotesite.com?id=1234?foo=bar&baz=foo

Hvilket jo er forkert, da den rigtige URL skal se således ud:

http://remotesite.com?id=1234&foo=bar&baz=foo

Derfor brugte jeg denne gang mod_rewrite til noget fornuftigt, ved at bruge RewriteRule flaget QSA (qsappend), tilføjer den samtidig forespørgsels strengen til den nye URL den laver:

RewriteEngine On
RewriteRule ^([0-9]+)/?$ index.php?id=$1 [L,QSA]

Dvs. at nu kunne jeg indtaste URLen:

http://remotesite.com/1234/

Og den vil hente:

http://remotesite.com/index.php?id=1234&foo=bar&baz=foo



TLD
torsdag, 16. februar 2006, 14:56
Skrevet under: Apache


msgetthefacts.com 2. del
mandag, 02. januar 2006, 23:21
Skrevet under: Privat, Arbejde, Linux, Apache