recherche

Maison  >  Questions et réponses  >  le corps du texte

Application React utilisant l'API NET7 - réécriture d'URL sur un site

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粉752826008P粉752826008307 Il y a quelques jours325

répondre à tous(1)je répondrai

  • P粉564301782

    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.

    répondre
    0
  • Annulerrépondre