在浏览器中我想要这个网址:
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}&action={R:2}&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)或更多(或更少)。
有人对此有答案吗?
提前致谢