我正在尝试在我的web.config中使用url重写规则来始终加载index.html以避免刷新和深层链接问题。我想使用HTML5路由方法。我收到的错误如下面加载我的javascript文件:
Uncaught SyntaxError: Unexpected token < polyfills.bundle.js:1
意外的'&lt;'上面是因为它试图将我的index.html加载为javascript文件,这显然是一个问题。
我在index.html中的基础href是:
<base href="/">
我的网址重写如下:
<rule name="angular-rewrite" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true"/>
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true"/>
<add input="{HTTP_HOST}" pattern="^(www\.)?test\.mySite\.net$" />
</conditions>
<action type="Rewrite" url="/mySite/index.html" />
所有角度文件都位于Web服务器的子目录中:/ mySite /。这是必要的,因为使用其他URL重写在多个兄弟目录中托管多个站点。
我在想我可能需要一个额外的规则来将文件指向/ mySite /但是,即使我有IsFile否定选项,上述规则似乎也会影响文件。
我能够完全发挥作用的唯一方法是,如果我将以下基本href与上述重写规则结合使用:
<base href="/mySite/">
这个问题是我的网址变为:test.mysite.net/mySite/login。我希望它是:test.mysite.net/login