如何解决IIS 问题与 urlrewrite
我正在尝试为我的 API 设置 urlrewrite。 现在我的网站就像:
cookhamburger.PHP?topping=mayo&how=grill
cookpasta.PHP?topping=ragu&how=aldente
鉴于我有许多实用程序已经绑定到这些 url,我想保持兼容,但我也想扩展我的网站。
因此我制作了一个以“食物”为参数的通用处理程序
cooksomething.PHP?what=pasta&topping=ragu&how=aldente
为了实现这一点,我必须使用像这样的正则表达式将旧的 url 重新映射到新的处理程序
cook(.*)\.PHP\?(.*)
匹配它 和如下重映射
cooksomething.PHP?what={R:1}&{R:2}
现在我的问题是,一旦我转到网址:
http://localhost/cookhamburger.PHP?topping=mayo&how=grill
Modulo «module» IIS Web Core
Notifica MapRequestHandler
Gestore «handler» PHP
Codice errore «error» 0x80070002
这是我用于损坏配置的 web.config:
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear />
<rule name="Handler remap" stopProcessing="true">
<match url="^cook(.*)\.PHP\?(.*)" ignoreCase="true" />
<conditions logicalGrouping="MatchAny" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="cooksomething.PHP?what={R:1}&{R:2}" appendQueryString="false" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
但是下面的重映射,例如
(.*)\?(.*)
cooksomething.PHP?{R:1}&{R:2}
/hamburger?topping=mayo
作品
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。