从 Visual Studio 发布到 CloudFormation 非常棒,它使您可以将网站部署到单个服务器或负载平衡堆栈。
当您想在单个服务器上部署多个网站时,问题就会出现,因为在每个部署中,位于 c:\inetpub\wwwroot 的主 web.config 都会被修改,添加 UrlRewrite。这会将所有请求从以前部署的网站重定向到新网站。即 / --/FIRST --/SECOND
如果我在 First 上请求一个页面,它会在 /Second/First 中搜索。
应用的更改如下:
<rewrite>
<rules>
<rule name="AWS_DEPLOYMENT" stopProcessing="false">
<match url="^(https?://[^/]+/)SECOND" ignoreCase="true" negate="true" />
<conditions>
<add input="{PATH_INFO}" pattern="^/SECOND" negate="true" />
</conditions>
<action type="Rewrite" url="{R:1}SECOND{PATH_INFO}" logRewrittenUrl="true" />
</rule>
</rules>
</rewrite>
有没有办法摆脱这种行为并保持主 web.config 不变?