比较来自世界各地的卖家的域名和 IT 服务价格

angular 2 azure 部署更新错误:已删除您要查找的资源,它的名称已更改或暂时不可用。

我有一个申请 Angular 2 rc-2 基本路由。 小路 - 这是
/path1

, 这是默认路径和
/path2

. 家园
/

重定向
/path1

. 当我在本地运行时 /Lite-Server./, 一切都很好。 我设法在Web应用程序中部署此应用程序 Azure. 应用程序工作正常,但如果我在我进入时更新页面
/path1

或者
/path2

, 我收到此错误:
The resource you are looking for has been removed, had its name changed, or is temporarily unavailable.


可能的方法是实施 url rewrite. 我添加了一个文件 web.config 在你的项目中


xml version="1.0" encoding="UTF-8"?
<configuration>
<system.webserver>
<rewrite>
<rules>
<clear></clear>
<!-- check if its path1 url and navigate to default page -->
<rule enabled="true" name="Path1 Request" stopprocessing="true">
<match url="^path1"></match>
<action logrewrittenurl="true" type="Redirect" url="/index.html"></action>
</rule>
<!-- check if its path2 url and navigate to default page -->
<rule enabled="true" name="Path2 Request" stopprocessing="true">
<match url="^path2"></match>
<action logrewrittenurl="true" type="Redirect" url="/index.html"></action>
</rule>
</rules>
</rewrite>
</system.webserver>
</configuration>


在这种情况下,我可以在不接收此错误消息的情况下更新。 但任何更新都将我重定向到默认值。 url. 我更新C.
/path2

, 他将我重定向
/path1

/默认 url/

.

有关改进更新的想法 ? :/
已邀请:

知食

赞同来自:

你必须添加

文件 web.config 在您的root应用程序中 Angular2. 这就是它的工作原理 Azure 服务器 /IIS 服务器/.

我用 webpack, 所以我把它放在文件夹中

src

. 不要忘记将其复制到文件夹中。

dist

, 当你熄灭。 我用了

CopyWebpackPlugin

, 自定义自己的 webpack, 复制它。

这个文件 web.config:


xml version="1.0" encoding="UTF-8"?
<configuration>
<system.webserver>
<rewrite>
<rules>
<clear></clear>
<rule name="Redirect to https" stopprocessing="true">
<match url="/.*/"></match>
<conditions>
<add ignorecase="true" input="{HTTPS}" pattern="off"></add>
</conditions>
<action appendquerystring="false" redirecttype="Permanent" type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}"></action>
</rule>
<rule name="AngularJS Routes" stopprocessing="true">
<match url=".*"></match>
<conditions logicalgrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchtype="IsFile" negate="true"></add>
<add input="{REQUEST_FILENAME}" matchtype="IsDirectory" negate="true"></add>
</conditions>
<action type="Rewrite" url="/"></action>
</rule>
</rules>
</rewrite>
</system.webserver>
</configuration>


他有 2 法规:

1-规则重定向所有呼叫 https. 如果您不使用,请删除它 https.

第二条规则是解决您的问题。 我收到了这里的第2条规则的链接 /感谢用户

gravityaddiction

经过 www.reddit.com/:

https://www.reddit.com/r/Angul ... rver/
/

帅驴

赞同来自:

更简单的方法的方法 @Guilherme Tewubl。 它适合我完美。


xml version="1.0" encoding="UTF-8"?
<configuration>
<system.webserver>
<rewrite>
<rules>
<rule name="Angular4" stopprocessing="true">
<match url=".*"></match>
<conditions logicalgrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchtype="IsFile" negate="true"></add>
<add input="{REQUEST_FILENAME}" matchtype="IsDirectory" negate="true"></add>
</conditions>
<action type="Rewrite" url="/"></action>
</rule>
</rules>
</rewrite>
</system.webserver>
</configuration>

莫问

赞同来自:

如果有人 - 仍然坚持下去,我想加两件事。

添加 web.config 在文件夹中 src. 在我的情况下,可用性
web.config 根没有解决问题。

把它添加到你的
.angular-cli.json

像这样


"apps": [
{
"root": "src",
"outDir": "dist",
"assets": [
"assets",
"favicon.ico",
"web.config"
],
...
}
],

三叔

赞同来自:

在新版本中 angular 添加配置路径 angular.json, 和以来 angular.json 在应用程序文件夹中,请务必将其添加到 src/web.config


"assets": [
"src/assets",
"src/web.config"
],

卫东

赞同来自:

我也遇到了这个问题,并使用以下代码来解决这个错误:


import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { AppComponent } from './app.component';
import { routing } from './app.routes';
import {AgmCoreModule} from 'angular2-google-maps/core';
import { LocationStrategy, HashLocationStrategy } from '@angular/common';

@NgModule/{
imports: [ BrowserModule, FormsModule, routing, AgmCoreModule.forRoot// ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ],
providers: [{provide: LocationStrategy, useClass: HashLocationStrategy}]
}/

export class AppModule { }


您可以了解更多信息 HashLocationStrategy 这里 :
https://angular.io/docs/ts/lat ... .html

詹大官人

赞同来自:

我的文件遇到了问题
angular.json

它使用:


"assets": [
"src/assets",
"src/web.config"
],


但文件。
web.config

未复制到嵌入式文件夹
dist/

.

我不认为我也使用自定义配置文件 webpack /
extra-webpack.config.js

/ 用插件
CopyPlugin

. 一旦我加了路
web.config

到您的自定义配置 webpack 并重新建立他的项目,文件
web.config

在那里!

要回复问题请先登录注册