Maison > Questions et réponses > le corps du texte
J'essaie d'héberger une application React avec l'API NET7 sur un site IIS. Il existe une structure de fichiers comme celle-ci dans le dossier racine
Api fonctionne parce que je demande la méthode /api/status healthcheck et elle renvoie 200. Mais lorsque je demande /index.html, j'obtiens 404 (Not Found) .
Savez-vous comment mettre en place une règle de réécriture ou la configurer autrement pour obtenir le fichier index.html
Voici mon web.config
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <handlers> <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" /> </handlers> <aspNetCore processPath=".\api\my-app.exe" arguments=".\api\my-app.dll" stdoutLogEnabled="true" stdoutLogFile=".\iis-logs\" hostingModel="OutOfProcess" /> <directoryBrowse enabled="false" /> <httpErrors errorMode="DetailedLocalOnly" existingResponse="Auto" /> <rewrite> <rules> <clear /> <rule name="Stop process React routes" stopProcessing="true"> TODO: how to write rule to get index.html file ?? </rule> </rules> </rewrite> </system.webServer> </configuration>
P粉5643017822024-01-11 10:54:05
Vous pouvez essayer de modifier les règles de réécriture dans le fichier web.config. Voici comment configurer des règles de réécriture pour servir le fichier index.html de votre application React et d'autres ressources statiques :
<rewrite> <rules> <rule name="Serve React App" 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>
Vous devrez ajuster le chemin et la configuration en fonction de la structure et des besoins spécifiques de votre projet.