Angular 4中页面刷新时出现404错误

我们使用’ng build –prod’cli命令部署了angular 4应用程序,并在IIS 8.5上创建了’dist’文件夹,当我们运行应用程序时,它工作正常,但如果按下F5键则会出现404错误.

注意:请不要建议使用(useHash:true),如果建议我们如何从url中删除’#’.

如果有人可以建议我们,可以给予赞赏.

最佳答案 您可以像下面一样编写更改web.config文件

<configuration>
    <system.webServer>
         <rewrite>
            <rules>
              <rule name="AngularJS Routes" 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>
          <caching enabled="true" enableKernelCache="true">
              <profiles>
                  <add extension=".js" policy="DisableCache" kernelCachePolicy="DisableCache" />
              </profiles>
          </caching>
    </system.webServer>
</configuration>

让我解释一下这个配置

<match url=".*" />

这匹配即将到来的所有网址,而不是使用操作在您的基本路径中重定向

<action type="Rewrite" url="/" />

如果您在子文件夹中设置项目而不是更改url =“/ subfolder /”.

点赞