I've seen it before where a rule was used to convert directories on a URL to key=value request queries.
I have no idea how to do this so I can have more than one of these pairs.
For example:
http://www.example.com/mykey/myvalue/mykey2/myvalue2
Would map to:
http://www.example.com?mykey=myvalue&mykey2=myvalue2
Thanks.
You have an excellent tutorial here
http://www.addedbytes.com/for-beginners/url-rewriting-for-beginners/
Use this .htaccess code to have recursion based translation of
key/value
based URI:Using these rules a URL of
http://localhost/n1/v1/n2/v2/n3/v3/n4/v4
will be INTERNALLY redirected tohttp://localhost/?n4=v4&n3=v3&n2=v2&n1=v1
treating each pair of URL segments separated by / as a name-value pair for QUERY_STRING. BUT keep in mind if URI doesn't have even number of segments eg:http://localhost/n1/v1/n2/
then it will be redirected tohttp://localhost/?n1=v1
, discarding extra n2.The most common usage I've seen of this type of pattern is in the Zend Framework, but I believe this is achieved by the Front Controller, i.e. PHP code. There is, I believe, no way to match an unknown number of matches via mod_rewrite. That is to say, if you know there's going to be a maximum of say 3 pairs, you can use...
...but if there is no known maximum it can't be done.