.htaccess:无法使用RewriteCond捕获规则

时间:2011-03-22 09:49:27

标签: regex facebook .htaccess

Facebook返回以下结果:

http://www.mydomain.com/some-text-here-auth-login.html?session={%22session_key%22%3A%2295da8e65851d8ec74c381171-650901429%22%2C%22uid%22%3A%22650901429%22%2C%22expires%22%3A0%2C%22secret%22%3A%223chidden%22%2C%22base_domain%22%3A%22mydomain.com%22%2C%22access_token%22%3A%22171372936213670|95da8e65851d8ec74c381171-650901429|x_1y78ix4VU8Wr9qytDqV-DWBk0%22%2C%22sig%22%3A%22708bf3fd1703e4c368afe22fc70ed08c%22}

在我的.htaccess上有以下几行:

RewriteCond %{QUERY_STRING} session=\{(.*)\}
RewriteRule ^some-text-here-(\w+)-(\w+).html    /index.php?c=$1&m=$2&session=%1 [L]

但它并没有落入规则。

你能帮我一个像我这样的傻瓜吗?谢谢!

2 个答案:

答案 0 :(得分:1)

比你的解决方案更好的想法是不要手动触摸查询字符串,而是使用QSA将其附加到重写的URL。

RewriteRule ^some-text-here-(\w+)-(\w+).html    /index.php?c=$1&m=$2 [QSA,L]

答案 1 :(得分:0)

好的,我已经弄清楚了。第一行应该是:

RewriteCond %{QUERY_STRING} session=(.*)