В моем локальном IIS настроено приложение Angular 8. Я также установил и настроил IIS URL Rewrite. Проблема в том, что приложение загружается нормально, если я обращаюсь к нему со стартовой страницы. Но если в любой момент я перезагружаю приложение или пытаюсь получить доступ к внутренним страницам, используя URL, я получаю следующую ошибку:
![Chrome console log error](https://i.stack.imgur.com/KP8rh.png)
Пожалуйста, найдите мою конфигурацию перезаписи URL IIS ниже:
<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" />
<add input="{REQUEST_URI}" pattern="^/$" negate="true"/>
</conditions>
<action type="Rewrite" url="./index.html" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
![URL Rewrite in IIS](https://i.stack.imgur.com/wcfnX.png)
Это индекс. html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Business Continuity Planning Tool</title>
<base href="./" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="icon" type="image/x-icon" href="favicon.ico" />
<link rel="stylesheet" href="styles.6d575a836e8b4e63af3b.css"></head>
<body>
<app-root></app-root>
<script src="runtime-es2015.d3bc0f0c5758d81e0404.js" type="module"></script><script src="polyfills-es2015.f2e75f3c844d6aea9986.js" type="module"></script><script src="runtime-es5.1b294c6bb1a350f5c4a5.js" nomodule></script><script src="polyfills-es5.c56107a30ff96141ff8f.js" nomodule></script><script src="scripts.e84dbffa93eee937834f.js"></script><script src="main-es2015.b4de925263cc98440efd.js" type="module"></script><script src="main-es5.cb2c1b5748b9aef1ff23.js" nomodule></script></body>
</html>
Если я захожу в приложение с домашней страницы, у которой нет параметров URL, она работает нормально. Проблема возникает только на внутренних страницах, где есть параметр. Перезагрузка также работает на домашней странице, так как нет никаких параметров. ![Route config in angular](https://i.stack.imgur.com/3tdD6.png)
URL-адрес домашней страницы: http://localhost: 81 / BcpApp / home ,
URL-адрес внутренней страницы: http://localhost: 81 / BcpApp / editbcp / 5016
Я твердо убежден, что проблема заключается в конфигурации перезаписи URL-адреса IIS, поскольку эти проблемы отсутствуют, когда я запускаю приложение с использованием узла.