Угловая 5 маршрутизация не найдена с прямой ссылкой в ​​IIS - PullRequest
0 голосов
/ 03 сентября 2018

Добрый день и спасибо за внимание

В системе была реализована модель, в которой пользователь может запомнить свой пароль по ссылке для восстановления пароля

Когда пользователь пытается получить доступ к ссылке:

У моего приложения в настоящее время есть angularJs 2 и создайте маршрут, подобный этому:

const appRoutes: Routes = [
//this route
  { path: 'login/recovery-password/:token/:email', component: RecoveryPasswordComponent, pathMatch: 'full', runGuardsAndResolvers: 'always', canActivate: [AnonymousGuard]},
  { path: 'main', component: MainComponent, pathMatch: 'full', runGuardsAndResolvers: 'always', canActivate: [AuthGuard] },
  { path: '', redirectTo: '/login', pathMatch: 'full' },
  { path: '**', redirectTo: '/login' },
];

export const routing = RouterModule.forRoot(appRoutes, { onSameUrlNavigation: 'reload' });

Проблема в том, что когда эта ссылка логин / пароль восстановления /: токен /: электронная почта отправляется по электронной почте, и пользователь пытается получить доступ по ссылке, генерируется ошибка 404 пароля, похожая на

http://10.0.5.1/MyAwesomeApp/AwesomeIndex/login/recovery-password/nf65CGdt6QeydGC3CJyt52rbNN%2btuRSxSuWceLInKIXymZFMu1%2b45E00fwYqexrsSHNBEQ0vmkFhXdyY8giCENl2VTX1WAGDU1btCEwh%2bIhZ7KGN8SLfPkxF4DkLkC10xcuosSwhGG8l0azA%2fAetUfpZ%2bfNyPIovJN9fSDGsGRK%2bYLOaAAwJ6bzGp7sbg4KSQ6gMaw%3d%3d/user1@evasys.nl

enter image description here

Проблема не может заключаться в URL-адресе, поскольку, когда веб-приложение тестировалось локально, через localhost: 4200 / URL-адрес, если оно работало

Это содержимое моего web.config

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <system.webServer>
      <httpProtocol>
       <customHeaders>
          <clear />
          <add name="Access-Control-Max-Age" value="600" />
       </customHeaders>
    </httpProtocol>
    <httpErrors errorMode="Custom">
      <remove statusCode="404"/>
      <error statusCode="404" path="/MyAwesomeApp/AwesomeIndex/index.html" responseMode="ExecuteURL"/>
    </httpErrors>
    <staticContent>
      <mimeMap fileExtension="ttf" mimeType="application/font-sfnt" />
      <mimeMap fileExtension="json" mimeType="application/json" />
      <mimeMap fileExtension="woff" mimeType="application/font-woff" />
      <mimeMap fileExtension="woff2" mimeType="application/font-woff" />
    </staticContent>
    <httpRedirect enabled="true">
      <add wildcard="/" destination="index.html" />
    </httpRedirect>
  </system.webServer>
  <system.web>
    <compilation debug="true" targetFramework="4.5.2"/>
    <httpRuntime targetFramework="4.5.2"/>
    <customErrors mode="On" redirectMode="ResponseRewrite">
      <error statusCode="404" redirect="index.html" />
    </customErrors>
  </system.web>
</configuration>

my index.html

enter image description here

Как я могу изменить web.config, чтобы иметь возможность принимать этот URL?

Неважный факт, API находится в C #

Спасибо

...