में फ़ाइलों की सेवा करता है इसलिए मैं ओविन और कटाना के साथ खेल रहा हूं और मैं अपने सार्वजनिक फ़ोल्डर में स्थिर फाइलों को प्रस्तुत करना चाहता हूं।ओविन केवल कुछ फ़ोल्डर
मेरे पास स्टाइलशीट और एक स्क्रिप्ट फ़ोल्डर के साथ एक सामग्री फ़ोल्डर है।
मेरे स्टार्टअप:
public void Configuration(IAppBuilder app)
{
#if DEBUG
//when things go south
app.UseErrorPage();
#endif
// Remap '/' to '.\public\'.
// Turns on static files and public files.
app.UseFileServer(new FileServerOptions()
{
RequestPath = PathString.Empty,
FileSystem = new PhysicalFileSystem(@".\public"),
});
}
तो अगर अगर मैं स्थानीय होस्ट करने के लिए ब्राउज़ करें: 8861/मैं अपने सार्वजनिक फ़ोल्डर में index.html फ़ाइल जाओ। ठीक है। लेकिन मैं अपने लोकहोस्ट पर भी ब्राउज़ कर सकता हूं: 8861/Content/style.css जिसे मैं ब्लॉक करना चाहता हूं। उपयोगकर्ता की जरूरतों को सब कुछ सार्वजनिक फ़ोल्डर में सुलभ होना चाहिए। बाकी सभी को अवरुद्ध किया जाना चाहिए।
मैं इसे कैसे प्राप्त कर सकता हूं?
धन्यवाद यह वास्तव में समस्या हल करता है। हालांकि मेरे सार्वजनिक फ़ोल्डर में अन्य फाइलों की सेवा करने में कोई समस्या है। तो सार्वजनिक में index.html, style.css और script.js शामिल हैं। इंडेक्स परोसा जाता है लेकिन style.css और script.js 404.4 देते हैं। कोई विचार? – user1613512
अजीब, सबकुछ मेरे पीसी पर ठीक काम करता है, लेकिन मैं स्वयं-होस्ट किए गए ऐप के साथ परीक्षण करता हूं। क्या आप वाकई इन फ़ाइलों को अगली यूआरएल yoursite/style.css के साथ एक्सेस करते हैं और yoursite/public/style.css नहीं? ये फ़ाइलें वेबसाइट के फ़ोल्डर में मौजूद हैं, है ना? – ntl
एक और चीज जिसे आप आजमा सकते हैं। आपके बीच कॉन्फ़िगरेशन में अंतिम अंतिम के रूप में अगला मिडलवेयर पंजीकृत करें: app.Run (संदर्भ => {वापसी संदर्भ। Reesponse.WriteAsync ("वाइल्डकार्ड ओविन ऐप");}); प्रतिनिधि के अंदर ब्रेकपॉइंट रखें और ब्राउज़र से style.css तक पहुंचने का प्रयास करें। यह हैंडलर वाइल्डकार्ड मिडलवेयर है जो अन्य अनुरोधों को संभालता है जो अन्य माध्यमिकों द्वारा नियंत्रित नहीं किए जाते हैं। यदि आपका ऐप ब्रेकपॉइंट के साथ बंद कर दिया जाएगा, ओविन अनुरोध को संभालता है लेकिन कॉन्फ़िगरेशन सही नहीं है, अन्यथा आईआईएस कॉन्फ़िगरेशन में कुछ गलत है। – ntl