Currently I use:
RewriteRule ^([^/\.]+)/?$ page.php?page=$1 [L]
Which is good for when passing one querystring through.
But is there a way just to pass all querystrings through? i.e. One page request might be:
domain.com/contact?course=23
and another may be:
domain.com/contact?workshop=41
So I need to know what the query string name is, but only ever one will be passed in at a time
If I understand your question correctly, you can just add the [QSA]
(query string append) flag to the end of your RewriteRule
RewriteRule ^([^/\.]+)/?$ page.php?page=$1 [L,QSA]
This will process your request as you've already done, and add any further querystring params onto the end.
This is what I do.
RewriteRule ^((/?[^/]+)+/?)$ ?q=$1 [L]
Now the whole part after domain.com/ is in $_GET['q']
in index.php
. E.g. if you request domain.com/articles/12
, q
contains articles/12
. It's then trivial parse it with e.g. explode('/', $_GET['q'])
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With