Rumah > Soal Jawab > teks badan
Saya cuba mengehoskan aplikasi React dengan api NET7 di tapak IIS. Terdapat struktur fail seperti ini dalam folder akar
Api berfungsi kerana saya meminta /api/status kaedah pemeriksaan kesihatan dan ia mengembalikan 200. Tetapi apabila saya meminta /index.html saya mendapat 404 (Tidak Ditemui) .
Adakah anda tahu bagaimana saya harus menyediakan peraturan penulisan semula atau sebaliknya mengkonfigurasinya untuk mendapatkan fail index.html
Ini web saya.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
Anda boleh cuba mengubah suai peraturan penulisan semula dalam fail web.config. Begini cara untuk menyediakan peraturan tulis semula untuk menyampaikan fail index.html aplikasi React anda dan sumber statik lain:
<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>
Anda perlu melaraskan laluan dan konfigurasi berdasarkan struktur dan keperluan projek khusus anda.