Htaccess Querystring rewrite
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] 来源: https://stackoverflow.com/questions/1337152/htaccess-querystring-rewrite