htaccess隐藏部分查询字符串

时间:2012-01-05 09:01:57

标签: .htaccess mod-rewrite

这是我的问题。

我想重写它

  

www.domain.com/?cur=artist/profile&id=1&title=username -actual url apache read

  

www.domain.com/username- after rewrite并显示在浏览器链接

这个想法类似于facebook

  

https://www.facebook.com/profile.php?id=123456789012345 - 在帐户设置

之前设置用户名      

https://www.facebook.com/username - 后设置用户名

但在我的情况下,我在查询字符串上有我的用户名。因此,我只需要从查询字符串n left ?cur=artist/profile&id=1&title=中删除username

1 个答案:

答案 0 :(得分:0)

您无法直接使用RewriteRule执行此操作,您需要使用RewriteCond。好吧,两个,这里:一个用于请求,另一个用于查询字符串。

以下示例将起作用,前提是var_a位于开头 - 如果不是,则正则表达式会更复杂。如果您需要更完整的答案,请填写您的问题:

RewriteCond %{REQUEST_URI} ^/index\.php$  # match "/index.php"
RewriteCond %{QUERY_STRING} ^([^=]+)=1&var_b=2 # capture "var_a" in the query string
RewriteRule .* /var_b?%1=1 [QSA] # rewrite to /var_b?var_a=1