why doesn't this mod_rewrite work?

Posted November 3, 2013 3k views
Hello, I am facing an issue which I can't resolve. this is my .htaccess file
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w\d~%.:_\-]+)$ index.php?page=$1 [QSA]
RewriteRule ^news/([0-9]+) /news?id=$1
RewriteRule ^contact/([0-9]+) /contact?do=$1
RewriteRule ^account/([0-9]+) /account?action=$1
RewriteRule ^admin/([0-9]+) /admin?action=$1
Everything works beside the admin and account rules when I go the one if the working once, Then I get to the requested page i.e or All working rules are ending in numbers, like the news rules, But admin and account rule doesn't end in a number, but in a string, like which doesn't work. Anyone able to help me?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
1 answer
nwm I got it working :)

Solution for others:
([0-9]+) only matches numbers. If you want to match Strings, use either (.+) to match every character or some other character group ([a-zA-Z]+ for example).