我们使用’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 /”.