即使使用QSA,重写规则也不会读取$ _GET变量

I have an issue with a rewrite rule not being able to read a $_GET variable from the url, therefore not displaying user's page correctly. This is my htaccess file:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^index$ index.php [QSA,L]
RewriteRule ^piqs/?$ index.php [QSA,L]
RewriteRule ^piqs/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)?$ index.php?country=$1 [QSA,L]
RewriteRule ^piqs-women/?$ index-women.php [QSA,L]
RewriteRule ^piqs-men/?$ index-men.php [QSA,L]
RewriteRule ^users$ users.php [QSA,L]
RewriteRule ^users-women/?$ users-women.php [QSA,L]
RewriteRule ^users-men/?$ users-men.php [QSA,L]
RewriteRule ^ranking$ ranking.php [QSA,L]
RewriteRule ^ranking-women/?$ ranking-women.php [QSA,L]
RewriteRule ^ranking-men/?$ ranking-men.php [QSA,L]
RewriteRule ^login$ login.php [QSA,L]
RewriteRule ^register$ register.php [QSA,L]
RewriteRule ^logout$ logout.php [QSA,L]
RewriteRule ^newsnap$ newsnap.php [QSA,L]
RewriteRule ^edit_photo$ edit-photo.php [QSA,L]
RewriteRule ^account$ account.php [QSA,L]
RewriteRule ^edit_account$ edit-account.php [QSA,L]
RewriteRule ^mypage$ mypage.php [QSA,L]
RewriteRule ^mypage/follovers$ follovers.php [QSA,L]
RewriteRule ^mypage/folloving$ folloving.php [QSA,L]
RewriteRule ^chicpiq/([0-9]+)$ snap.php?id=$1 [L]
RewriteRule ^([a-zA-Z0-9_-]+)$ profile.php?id=$1 [QSA, L]

With this I'm trying to access the user's page from www.example.com via this link

<a href="<?php echo $snapusername?>">

This takes me to www.example.com/testuser. Testuser is the variable passed. However when I enter this link the variable is not passed. I checked this like this:

if($_GET['username'] == "") {
    echo "Not working yo";
}

I get "Not working yo" message. I have tried adding QSA at the end of the reqrite rule, without it, without L and nothing worked. Any ideas what might be the problem? Thank you for your help.