IIS工作重定向正则表达式,但没有传递值?

时间:2014-05-07 18:31:26

标签: regex cakephp iis url-rewriting

真奇怪的问题。这是我想要使用的正则表达式:

<match url="^c/([^/]*)/([^/]*)/([^/]*)/[?]((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&amp;amp;=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&amp;amp;=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&amp;amp;;%@.\w_]*)#?(?:[\w]*))?)" />
    <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
    <action type="Rewrite" url="/c/?campaignid={R:1}&amp;listid={R:2}&amp;emailid={R:3}&amp;forward={R:4}" appendQueryString="false" />
</rule>

将被这样调用:

http://mydomain/c/1/1/1/?http://redirecturl

但是使用上面的正则表达式,CakePHP抱怨广告系列/列表/电子邮件都是空白的。这是“奇怪的”,下面的作品,传递我想要的值:

^c/([^/]*)/([^/]*)/([^/]*)

它传递广告系列/列表/电子邮件ID值。但是,当我为URL添加正则表达式时,它们都被清空了!?!

IIS正则表达式测试程序中的“测试”表明它是有效的正则表达式。

0 个答案:

没有答案