Angular Url重写导致404加载JavaScript文件

时间:2017-03-05 02:52:15

标签: angular url-rewriting angular-cli

我正在尝试在我的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

0 个答案:

没有答案