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

时间:2016-09-15 15:27:15

标签: php .htaccess mod-rewrite

我遇到重写规则无法从网址读取$ _GET变量的问题,因此无法正确显示用户页面。 这是我的htaccess文件:

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]

有了这个,我试图通过这个链接访问www.example.com的用户页面

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

这将我带到www.example.com/testuser。 Testuser是传递的变量。 但是,当我输入此链接时,不传递变量。我这样检查过:

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

我得到“不工作哟”的消息。我已经尝试在reqrite规则的末尾添加QSA,没有它,没有L,没有任何工作。 任何想法可能是什么问题? 谢谢你的帮助。

0 个答案:

没有答案