Htaccess Querystring rewrite

By : Martin

I have URLs like /?test that I want to rewrite to /page.php?page=test

I tried like this but for some reason it doesn't work.

RewriteRule ^\?([a-z0-9\-\+]{3,20})/?$ /page.php?page=$1 [NC,QSA]

What am I doing wrong?

By : Martin


The query string can only be tested with the RewriteCond directive. The RewriteRule pattern is only tested against the URL path (in .htaccess files the URL path without the per-directory prefix).

So try this:

RewriteCond %{QUERY_STRING} ^[a-z0-9- ]{3,20}$ [NC]
RewriteRule ^$ /page.php?page=%0 [QSA]
By : Gumbo

This video can help you solving your question :)
By: admin