我在Azure中托管我的AngularJS网站,但在我只想对www进行URL重写时遇到问题。版。我正在使用HTML5模式进行路由。
如果我有以下web.config并刷新页面,我会收到一条错误说明"您要查找的资源已被删除,名称已更改或暂时不可用。"
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<clear/>
<rule name="WWW Rewrite" enabled="true">
<match url="(.*)"/>
<conditions>
<add input="{HTTP_HOST}" negate="true" pattern="^www\."/>
</conditions>
<action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" appendQueryString="true" redirectType="Permanent"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
如果我按照以下方式离开我的web.config,我对刷新没有任何问题,但我无法重定向到www。我的网站版本:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<system.webServer>
<rewrite>
<rules>
<rule name="Main Rule" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="/" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我如何让两个场景一起工作?
答案 0 :(得分:1)
尝试添加
<add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
到您的条件阻止。