I am trying to do some URL rewriting with Apache and PHP. This is for SEO reasons so that foo.com/product-category/product-title becomes foo.com/product.php?id=999. I would of course want the URL not to change and be the SEO friendly version.
I have a current site which has a working setup but it’s very much a hack rather than a maintainable solution, so I am trying to do things right!
At the moment I have:-
RewriteRule ^([a-zA-Z0-9_\ \-\%]+)/?($) /url_redirect.php?page=$1 [QSA,L]
Which works perfectly, http://foo.com/random-url?foo=1&bar=2 ends up at /url_redirect.php with $_GET[‘page’] = ‘random-url’ and $_GET[‘foo’] = 1 etc etc..
I want the exactly the same thing to happen if you one level deeper
(eg http://foo.com/non-existing-directory/random-url?foo=1&bar=2)
I could make the non-existing-directoy a real directory and then .htaccess from there but there has to be a easer way.. I would prefer me not to have to hardcode any directory names (which is sort of how my current solution works).
I think the issue is probably something not right with the regular expression, they always defeat me.
I just tried this, might not be the best way to achieve it though (I’m no rewrite guru)
Sorry that was for my local setup here’s how I think you would want it!
Notice the / before url_redirect.php