2013-01-08 28 views
0

在我们的项目中,我们开始使用.htaccess来对网址进行美化。一切都很好,直到我发现,我们的Facebook登录不想工作,因为GET参数,FB返回,不能在我们的代码捕捉。.htacces中的重写规则以匹配我的GET参数需要

RewriteRule ^social/facebook$ /index.php/?action=social&authsocial=facebook 

这个规则打破了我需要的一切。 它将http://www.mydomain.com/index.php/?action=social&authsocial=facebook更改为http://www.mydomain.com/social/facebook

因此它分析2个GET参数。但是当我使用Facebook登录时,他们会返回一堆GET参数。我怎么能做出规则,那会导致类似这样的事情 http://www.mydomain.com/social/facebook?param1=12&qqq=13

基本上保持第一部分,因为它是现在,但添加不像常规风格的常量GET参数?

回答

1

您需要附加查询字符串。您可以通过在RewriteRule末尾添加[QSA]实现它:

RewriteRule ^social/facebook$ /index.php/?action=social&authsocial=facebook [QSA,L] 

From documentation

修改查询字符串

默认情况下,查询字符串加改变地通过。但是,您可以在包含查询字符串部分的替换字符串中创建URL。只需在替换字符串中使用问号表示应将以下文本重新注入查询字符串。当您要删除现有的查询字符串时,只需使用问号结束替换字符串。要合并新旧查询字符串,请使用[QSA]标志。

+0

作品像一个魅力,感谢您的快速回复:) – Wish

+0

@WISH欢迎您。 ;) – Leri