重写规则混淆

时间:2015-06-24 20:28:56

标签: apache url mod-rewrite url-rewriting rewrite

不确定我是否在这里做一些愚蠢的事情,但第一次重写规则工作正常,但第二次没有做任何事情,第一条规则总是应用,从我看到的语法是正确的,它可能是$2$3值之间的第二条规则中的&符吗?

URL:

/activate/activate/?e=testemail@localhost.com&c=123456

规则:

RewriteRule ^activate/([^/]*)/$ /activate.php?sa=$1 [L]
RewriteRule ^activate/([^/]*)/?e=([^/]*)&c=([^/]*)$ /activate.php?sa=$1&e=$2&c=$3 [NC,L]

编辑:

厌倦了使用查询字符串来解决问题,但似乎没有工作,我很确定我的方法错了!?

RewriteCond %{QUERY_STRING} ^sa=([^/]*)&e=([^/]*)&c=([^/]*)$ [NC]
RewriteRule ^/([^/]*)/?e=([^/]*)&c=([^/]*)$ /activate.php?sa=$1&e=$2&c=$3 [QSA,L]

0 个答案:

没有答案