Настройте сервер IIS для работы с каркасом Aurelia и нажмите состояние

Я создал базовое приложение aurelia, начиная с этого репо, и я пытался избавиться от # (hashtag) в строке URL.

У меня есть 2 проекта, один из которых работает на WebApi на машине, а другой - пустой веб-проект (а не MVC) на другой машине. На официальном веб-сайте документации он говорит только, как настраивать маршруты, но мой проект не ориентирован на MVC.

Как настроить IIS-сервер из Web.config в том смысле, что, когда я обращаюсь к http://localhost/home, он должен запустить структуру aurelia, а не 404 не найденную страницу?

Ответ 1

Я использую Azure, которому нужен web.config для правильной обработки маршрутизации без хэша, он просто перенаправляет все маршруты в index.html, который содержит приложение aurelia. Без него (или подобного метода) он давал 404s.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <system.webServer>
     <rewrite>
             <rules>
                 <remove name="redirect all requests" />
                 <rule name="redirect all requests" stopProcessing="true">
                     <match url="^(.*)$" ignoreCase="false" />
                     <conditions logicalGrouping="MatchAll">
                         <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" />
                     </conditions>
                     <action type="Rewrite" url="index.html" appendQueryString="true" />
                 </rule>
             </rules>
         </rewrite>
    </system.webServer>
</configuration>

Надеюсь, что это поможет.