นำโปรเจ็กส์ที่สร้างด้วย Bookdown ขึ้น Azure App Services (Stack=.Net, .Net version=.Net 6) แล้วกล่อง Search ใช้งานไม่ได้ ทั้งที่ตอนพัฒนาก็รันด้วย RStudio แล้วใช้งานกล่อง Search เพื่อทำการค้นหาได้ปกติดี
เลยลอง F12 ดูที่ Console ก็เจอว่า search_index.json 404 (Not Found) ทั้งที่ไฟล์ก็มีอยู่
ลองค้น google ดูจนไปเจอกระทู้นี้ javascript – Getting “404 not found” on doing a GET on local file in Azure web app – Stack Overflow อาการเหมือนกันคือมีปัญหาว่าเรียกไฟล์ javascript จากที่อื่นได้ แต่เรียกไฟล์ javascript ที่อยู่ใน local ไม่ได้
ทางแก้คือสร้างไฟล์ web.config ตามนี้
<?xml version="1.0"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
</configuration>
แล้วเอาไปวางไว้ที่ /site/wwwroot
ลองเรียกเว็บอีกที ก็ใช้ได้ละ