IIS上的404,尽管动态内容处于活动状态
我用VSCode编写了一个Angular2应用程序,并用IIS上的404,尽管动态内容处于活动状态,iis,angular,Iis,Angular,我用VSCode编写了一个Angular2应用程序,并用lite服务器启动它路由和刷新功能完美无误。但是,当我试图在IIS 8中的Windows Server 2012 R2上部署应用程序时,我在我的节点模块文件夹中安装的几乎所有东西上都收到了404条错误消息。 此时,我的base href看起来是这样的 因此,在搜索了一段时间来修复它之后,我找到了一些东西,可以将base href更改为,这样我的页面可以正常工作,甚至我的路由也可以正常工作。但当我试图刷新浏览器页面时,页面显示404错误 这似
lite服务器启动它
路由和刷新功能完美无误。但是,当我试图在IIS 8中的Windows Server 2012 R2上部署应用程序时,我在我的节点模块
文件夹中安装的几乎所有东西上都收到了404条错误消息。
此时,我的base href看起来是这样的
因此,在搜索了一段时间来修复它之后,我找到了一些东西,可以将base href更改为
,这样我的页面可以正常工作,甚至我的路由也可以正常工作。但当我试图刷新浏览器页面时,页面显示404错误
这似乎是IIS动态内容的问题。所以我激活了动态内容,但页面刷新后仍然显示404。
所以我试过这样的方法
bootstrap(AppComponent, [
ROUTER_PROVIDERS,
provide(APP_BASE_HREF, useValue: '/#/'),
provide(LocationStrategy, useClass: HashLocationStrategy)
]);
页面正在lite服务器上使用它(路由刷新等),但在IIS上刷新时仍然出现404错误。
我读了一些关于用web.config重写url的文章,但我什么都做不到
这是我部署的第一个angular2页面,请耐心等待
我希望你们中的一些人能帮助我。我想应该是这样的
bootstrap(AppComponent, [
ROUTER_PROVIDERS,
provide(APP_BASE_HREF, {useValue: '/'}),
provide(LocationStrategy, {useClass: HashLocationStrategy})
]);
您应该配置IIS或通过web.config始终返回索引/默认页面(对于任何路由)甘特和AngJobs的组合为我做到了这一点 我和你一起解决了 并且使用给定的代码
bootstrap(AppComponent, [
ROUTER_PROVIDERS,
provide(APP_BASE_HREF, {useValue: '/'}),
provide(LocationStrategy, {useClass: HashLocationStrategy})
]);
我创建了如下URL重写器规则:
有了这些,我的页面工作得非常完美。路由仍在工作,在页面刷新时,Url被重写,没有发生错误
谢谢你们的帮助,让我解决了这个问题
Marv以下PowerShell代码将修复此问题。根据官方的Angular 2文档()“解决方案”是转发回index.html,然后它将解释路由:
Import-WebAdministration
# Grab the 404 handler and update it to redirect to index.html.
$redirect = Get-WebConfiguration -filter "/system.WebServer/httperrors/error[@statusCode='404']" -PSPath IIS:\Sites\LIS
$redirect.path = "/index.html"
$redirect.responseMode = 1
# shove the updated config back into IIS
Set-WebConfiguration -filter "/system.WebServer/httperrors/error[@statusCode='404']" -PSPath IIS:\Sites\LIS -value $redirect
随着我的url从“服务器/应用程序/仪表板”切换到“服务器/仪表板”,刷新时我仍然得到404,因为它试图获取“仪表板”文件夹。也许应该重写应用程序/仪表板?nut我不知道如何尝试更改
useValue:'/app/dashboard/
或/server/app/dashboard/
。我不知道你的设置。下面是一个web.config示例,它正是这样做的:目前我正在将我的应用程序从beta升级到realease,之后我会看看你的解决方案。请耐心点:)