Angular 5 - для развертывания в IIS - PullRequest
0 голосов
/ 19 марта 2020

Я развертываю приложение Angular на сервере IIS.

Интернет отображается правильно, но когда я обновляю sh браузер, он выдает мне 404/500 (зависит от настройки базового атрибута) и app.config) ошибка.

В моем индексе. html У меня есть:

<base href = "/">

И мой web.config:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <directoryBrowse enabled="true" />
          <rewrite>
            <rules>
              <rule name="Angular 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="index.html" />
              </rule>
            </rules>
          </rewrite>
            <!--<defaultDocument>
            <files>
            <remove value="index.html" />
            <add value="index.html" />
            </files>
            </defaultDocument>-->  
    </system.webServer>
</configuration>

Когда в браузер я называю путь, он выглядит правильно:

http://miweb.es/WebApp/index.html

В маршрутизаторе angular у меня есть, чтобы перенаправить меня, и это хорошо для этого маршрута:

http://miweb.es/WebApp/index.html/download

Но , в этот момент, если я обновлю браузер sh, он выдаст мне ошибку 404/500 (зависит от настроек базового атрибута и app.config).

Что я делаю неправильно?, спасибо

1 Ответ

1 голос
/ 19 марта 2020

В вашем root файле маршрутизации положить { useHash: true }

@NgModule({
  imports: [RouterModule.forRoot(routes, { useHash: true })],
  exports: [RouterModule]
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...