Delphi 如何配置IIS以映射域根的ISAPI DLL
我在如下目录下安装了一个ISAPI DLL:Delphi 如何配置IIS以映射域根的ISAPI DLL,delphi,iis,isapi,Delphi,Iis,Isapi,我在如下目录下安装了一个ISAPI DLL: c:\inetpub\wwwroot\emsserver\emsserver.dll 这是一个Delphi RAD服务器应用程序 在IIS管理器(Windows 10)中,在Root(计算机名)->Sites->Default Web Site->Emsserver下,我设置了一个处理程序来处理带有该dll的“*.dll”请求。最终结果是,我可以访问应用程序,如: http://localhost/emsserver/emsserver.dll/s
c:\inetpub\wwwroot\emsserver\emsserver.dll
这是一个Delphi RAD服务器应用程序
在IIS管理器(Windows 10)中,在Root(计算机名)->Sites->Default Web Site->Emsserver下,我设置了一个处理程序来处理带有该dll的“*.dll”请求。最终结果是,我可以访问应用程序,如:
http://localhost/emsserver/emsserver.dll/some-action
那很好。一切正常,产量如预期。但是URL对最终用户不是很友好
问题:
在Windows 10上使用IIS管理器,如何配置它,以便在不使用URL的DLL部分的情况下访问应用程序?所以,就像“http://localhost/some-action
“
看起来这应该是一件足够简单的事情,但我不知道怎么做。我尝试在IIS管理器中的根服务器条目以及“默认网站”中设置一个处理程序,但都没有成功。我已经20年没有使用IIS了(几乎完全是Linux和Apache),所以我有点脱离了我通常的邻居。您可以使用url重写来实现这一点。从下载模块 这是规则的结果。
创建一个重写规则。@LexLi真棒,正是我想要的。这就成功了。对于正则表达式,我使用了(.*),并重写了/emsserver/emsserver.dll/{R:1}。这会将所有请求发送到DLL。所以/some-action最后变成了/emsserver/emsserver.dll/some-action,这就是我需要的。是的,你可以用这种方式修改,我展示的是基于你引用的URL作为例子。使用常规判断是最准确的方法。