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?
Accepted Answer
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]
This page was build to provide you fast access to the question and the direct accepted answer.
The content is written by members of the stackoverflow.com community.
It is licensed under cc-wiki
The content is written by members of the stackoverflow.com community.
It is licensed under cc-wiki