.htaccess internal redirect not working with string parameter

Viewed 1889

So i have been on this for hours but can't get it to resolve. Nothing on stackoverflow tackles my issue. The issue is that i have a redirect rule in my .htaccess as follows

RewriteRule ^store-category/(.+)/?$ /wordpress/store-category/?cid=$1 [QSA,L]

This redirect works when cid is a number but when a use a string like "my-key" it does not work. With the key i have to change the rule to this.

RewriteRule ^store-category/(.+)/?$ /wordpress/store-category/?cid=$1 [R,L]

However i do not want to use this because this redirects my users visibly and the url changes, which i don't want. Can anyone please explain why this thing is working for numbers but not for string parameters. Any help would be appreciated.

Edit: Complete .htaccess

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteRule ^store-category/(.+)/?$ /wordpress/store-category/?cid=$1 [QSA,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>

# END WordPress
2 Answers
Related