URL slug问题。

时间:2013-06-27 23:43:43

标签: php .htaccess url slug

我似乎无法获得url slug的第二部分。我目前有这样的.htaccess文件:

RewriteEngine on
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?id=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?id=$1

得到这个:

http://example.com/user/john

现在无法解决这个问题:

 http://example.com/user/john?o=last

如何获得$_GET['o']

1 个答案:

答案 0 :(得分:1)

  1. 您需要QSA(查询字符串追加)标记以在重定向时保留现有查询。
  2. 您只需处理尾部斜杠就不需要2条规则。
  3. 用以下代码替换您的代码:

    Options +FollowSymLinks -MultiViews
    # Turn mod_rewrite on
    RewriteEngine On
    RewriteBase /
    
    RewriteRule ^([a-z0-9_-]+)/?$ /index.php?id=$1 [L,QSA,NC]