I've got a problem to rewrite an url. I want this :
http://www.foo.com/test.php?u=s1&id=12345&img=12
to
http://app.foo.com/12345-s1-12.test
First parameter u is a string, parameters id and img are integers.
I've started with something like that :
RewriteCond %{REQUEST_URI} ^/test.php?u=(.*)&id=(.*)&img=(.*)/ [NC]
RewriteRule (.*) http://app.foo.com/%2-%1-%3.test [QSA,R=301,L]
Thanks :)
EDIT :
Still doesn't work but i'm close!
RewriteCond %{REQUEST_URI} ^/test.php [NC]
RewriteCond %{QUERY_STRING} ^u=(.*)&id=(.*)&img=(.*)
RewriteRule (.*) http://app.foo.com/%2-%1-%3.test [QSA,R=301,L]
Now it give me that link :
http://app.foo.com/12345-s1-12.test?u=s1&id=12345&img=12
Instead of :
http://app.foo.com/12345-s1-12.test
:(
This works perfectly! I used this - but i'm wondering why the target url shows "%3f" at the end.
I'm using:
Why is %3f at the end?
Solved!
Placing a
?
on the end of the RewriteRule removes previous query string information.