0

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

http://my.website.com/Something/Action?param1=a¶m2=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>

使用 URL 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)或更多(或更少)。

有人对此有答案吗?

提前致谢

4

0 回答 0