IIS中的PHP url使用查询字符串重写

时间:2013-09-03 04:59:15

标签: php iis url-rewriting

在浏览器中我想要这个网址:

http://my.website.com/Something/Action?param1=a&param2=b

这应该调用页面:

http://my.website.com/index.php?c=Something&a=Action&p1=a&p2=b

我搜索了Google和Stackoverflow,但没有任何效果。或者IIS在友好URL中提供400或de查询字符串不起作用。 这让我发疯了!

这就是我现在所拥有的:

<rule name="Clean extra question mark from query string" stopProcessing="true">
    <match url="^(.+)/(.+)$" />
    <conditions>
        <add input="{QUERY_STRING}" pattern="(.*)" />
    </conditions>
    <action type="Rewrite" url="/index.php?controller={R:1}&amp;action={R:2}&amp;params={C:1}" appendQueryString="true" />
</rule>

使用网址my.website.com/Page/Part?a=1它运行正常。但是当我使用这个网址时: my.website.com/Page/Part?a=1&b=2我看到a = 1,但我没有看到b = 2 ...查询字符串中的参数数量可能不同。

请注意,PHP在IIS 7.5中托管,我正在使用IIS的重写模块。 另请注意,查询字符串不是固定长度。有些时候它可以有2个项目(param1和param2)或更多(或更少)。

有人对此有兴趣吗?

提前致谢

0 个答案:

没有答案