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?
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?
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]