فایل های استاتیک چون HTML، CSS، تصاویر، جاوا اسکریپت، فایل های دانلودی و موارد مشابه از جمله دارایی های هر وبسایت محسوب می شود که ممکن است مورد استفاده قرار گیرند. اما اگر وبسایت یا پروژه ما تحت دات نت کور ساخته شده باشد چطور می توانیم این فایل ها را در پورژه خود قرار داده و مسیردهی آن ها به چه شکل می شود؟
شرح مشکل
فرض کنید مسیر اصلی پروژه شما httpdocs و دامنه وبسایت شما domain.com باشد. قاعدتا با قرار دادن فایلی با نام hitest.html در مسیر httpdocs انتظار داریم مسیر زیر در دسترس باشد و محتوای فایل مذکور را نمایش دهد:
http://domain.com/hitest.html
اما اگر پروژه ما تحت دات نت کور ساخته شده باشد مشاهده می کنیم که نتیجه مورد انتظار حاضل نمی شود یا با خطای Not Found مواجه می شویم یا خطای 500 و یا در برخی از مرورگرها چون FireFox با صفحه خالی !
دلیل مشکل
وبسایت شما از هندلر ASP.NetCore استفاده می کند بنابراین با توجه به ماهیت این فریم ورک وبسایت شما به یک پوشه Web root مجهز است. بنابراین باید آن پوشه را یافته و فایل های استاتیک را در آن قرار دهید.
نحوه رفع مشکل
پوشه Web root برای اکثر پروژه های دات نت کور به صورت پیشفرض wwwroot نام دارد. بنابراین لازم است این پوشه را در httpdocs یافته و فایل های استاتیک مورد نظر را درون wwwroot قرار دهید.
در این صورت فایل ها در دسترس خواهد بود. در مثال ما مسیر زیر بدون خطا نمایش داده می شود:
http://domain.com/hitest.html
چند مثال
فرض کنید پوشه ها و فایل های زیر در File Manager وجود داشته باشند:
- httpdocs
- wwwroot
- images
- mypic.jpg
- css
- style.css
- js
- myjscript.js
- aboutus.html
- mymusic.mp3
- hitest.html
حال آدرس دسترسی به آن ها به شرح زیر خواهد بود:
Httpdocs > http://domain.com/
http://domain.com/images/mypic.jpg
http://domain.com/css/style.css
http://domain.com/js/myjscript.js
http://domain.com/aboutus.html
http://domain.com/mymusic.mp3
http://domain.com/hitest.html