Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Configure IIS server to work with Aurelia framework and push state

I have created a basic aurelia app starting from this repo and I was trying to get rid of the # (hashtag) in the URL bar.

I have 2 projects, one running WebApi on a machine and one running an empty web project (not MVC) on another machine. On the official documentation website it only says how to configure your routes but my project is not MVC oriented.

How can I configure the IIS server from Web.config in a sense that when I access http://localhost/home it should start the aurelia framework rather than the 404 not found page?

like image 453
Laurentiu Stamate Avatar asked Aug 20 '15 09:08

Laurentiu Stamate


1 Answers

I'm using the Azure which needed a web.config to handle non hash routing correctly, it just redirects all routes into the index.html which contains the aurelia app. Without it (or a similar technique) it was giving 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>

Hope this helps.

like image 117
Matt McCabe Avatar answered Nov 18 '22 20:11

Matt McCabe