我有一个简单的设置。我在子域 api.website.com 的根目录下设置了一个 wordpress 网站。这将作为 API 的文档。然后我有使用 asp.net 构建的 API 本身,我希望这是一个虚拟应用程序,以便用户可以查询 api.website.com/v1 作为 API 的基本 URL。我遇到的问题是 wordpress 优先处理并将我对 /v1 发出的每个请求重定向到 404 页面。有时它会重定向到实际页面,但无论如何,asp.net 虚拟应用程序都不会受到影响。
这是我从 applicationHost.config 中提取的站点信息。
<site name="API" id="8" serverAutoStart="true">
<application path="/" applicationPool="API">
<virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\API\Documentation" />
</application>
<application path="/v1" applicationPool="API">
<virtualDirectory path="/" physicalPath="C:\inetpub\wwwroot\API\SourceCode\API" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:963:" />
<binding protocol="http" bindingInformation="*:80:api.website.com" />
</bindings>
</site>
如何让服务器优先考虑虚拟应用程序,以便如果它在 URL 中选择 /v1,它将转到 asp.net 网站而不是 wordpress 网站。我在 Windows 2012 R2 服务器上运行 iis 8.5。
编辑。我尝试使用安装在 Windows 8 笔记本电脑上的 IIS 设置相同的配置。我想要的配置在这里起作用,所以看起来可能是服务器上的 IIS 导致了这个问题,但我仍然找不到导致这个问题的原因。