xdracox Posted April 17, 2007 Share Posted April 17, 2007 I am trying to make my page be something like example.com/Home, example.com/Login, etc. But I also want to add a query string to it, like example.com/Home?article=100, or something. I managed to write the RewriteRule for the first part, but I can't seem to do the part with the query string. This is what I have so far: RewriteRule ^([A-Z][A-Za-z0-9]+)[\?]?(.*)$ index.php?p=$1&$2 Quote Link to comment Share on other sites More sharing options...
veridicus Posted April 17, 2007 Share Posted April 17, 2007 You're not negating the ?... RewriteRule ^([A-Z][A-Za-z0-9]+)[^\?]?(.*)$ index.php?p=$1&$2 (See the ^) You may also want to look at the parameter which instructs the rule to pass along the query string automatically (is it [Q]?). But that may not work if you're creating the first part of the query string yourself. Quote Link to comment Share on other sites More sharing options...
xdracox Posted April 17, 2007 Author Share Posted April 17, 2007 Why would I negate the '?'? I want Home?opt=val to map to index.php?p=Home&opt=val. Quote Link to comment Share on other sites More sharing options...
veridicus Posted April 18, 2007 Share Posted April 18, 2007 You're right. My mistake. I think you want the QSA directive so mod_rewrite takes care of the query string for you: RewriteRule ^(.*)$ index.php?p=$1 [QSA] (untested of course ) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.