IIS 7.5 स्थिर html पृष्ठों को लोड नहीं करता है


10

एक समर्पित सर्वर पर नए सिरे से स्थापित IIS 7.5 है। ASP.NET 4.0 वेब एप्लिकेशन को उसके फ़ोल्डर में कॉपी किया गया, नई वेबसाइट 80 के बाद की पोस्ट पर अपने स्वयं के आईपी पर बनाई गई है, IIS_IUSR और IUSR खातों ने साइट के फ़ोल्डर पर अधिकारों को पढ़ा / निष्पादित किया है, साइट 4.0 .NET के साथ अपने स्वयं के एकीकृत ऐप पूल को सौंपा गया है (मैंने उसी परिणामों के साथ क्लासिक पूल की कोशिश की)।

समस्या: जब मैं इस वेब साइट को एक्सेस करने की कोशिश करता हूं, तो ब्राउज़र केवल asp संसाधनों द्वारा उत्पन्न सामग्री को लोड करता है जैसे कि aspx पेज, .axd फाइलें, आदि। स्टेटिक इमेज, स्टेटिक js, css और html फाइल्स पेज सोर्स में हैं लेकिन IIS don 'उनकी सेवा मत करो। सभी ब्राउज़रों में देव उपकरण शिकायत करते हैं कि उन सभी स्थिर संसाधनों को सर्वर द्वारा गलत सामग्री प्रकार (छवि, शैलियों, आदि के बजाय सादा पाठ) के साथ भेजा गया है। मुझसे क्या गलती हुई है?


आप फिडलर (या फायरबग) में क्या देखते हैं?
SLaks

यदि इसका संभव सर्वर पर पृष्ठ चलाता है, तो विशिष्ट रूप से सर्वर पर स्थैतिक सामग्री अकेले चलती है और आपको पूरी तरह से विस्तृत त्रुटि रिपोर्ट मिलती है।
अरिस्टोस

मैं Firebug का उपयोग नहीं करता। उदाहरण के लिए, क्रोम ने "संसाधन की छवि के रूप में व्याख्या की, लेकिन पृष्ठ पर एक jpg फ़ाइल के बारे में MIME प्रकार के पाठ / सादे" के साथ स्थानांतरित कर दिया। सभी शैलियों, js और स्थिर html पृष्ठों के लिए समान। इसके अलावा, स्क्रिप्ट और HTML के डायनामिक लोड काम नहीं करते हैं।

@ Aristos: मैंने ऐसा किया। सर्वर का ब्राउज़र पृष्ठ को उसी तरह प्रस्तुत करता है जिस तरह से बाहरी ब्राउज़र करते हैं। कोई त्रुटि नहीं, बस अधूरा पृष्ठ।

क्या वेब सर्वर चलाने वाले को उन फाइलों को पढ़ने का अधिकार है?
ल्यूक एम

जवाबों:


12

IIS 7 / 7.5 में एक नई "सुविधा" है - भूमिका सेवाएँ। Rsbarro के पोस्ट ने मुझे याद दिलाया कि एक भूमिका सेवा है जो स्थिर सामग्री के लिए ज़िम्मेदार है। यह वेब सर्वर / कॉमन HTTP फीचर्स / स्टेटिक कंटेंट है। जाँच करें कि क्या MIME प्रकार आइकन IIS प्रबंधक में मौजूद है, जैसा कि rsbarro ने सुझाव दिया है।

यदि ऐसा नहीं होता है तो आपको स्टेटिक कंटेंट रोल सर्विस को इंस्टॉल करना होगा। ऐसा करने के लिए, निम्न का चयन करें:

  • सर्वर प्रबंधक
  • भूमिकाएँ
  • बाएं फलक से वेब सर्वर (IIS) नोड
  • रोल सर्विसेज विंडो में स्क्रॉल करें
  • देखें कि स्टैटिक कंटेंट रोल सर्विस स्थापित है या नहीं।

आप जो वर्णन करते हैं, उससे यह आपकी समस्या प्रतीत होती है।

सामान्य तौर पर, अगर IIS7 ने ऐसा कुछ नहीं किया है जो IIS6 ने किया है, तो देखने के लिए पहली बात यह है कि क्या संवाददाता भूमिका सेवा स्थापित है। उम्मीद है की यह मदद करेगा।


स्टेटिक कंटेंट की भूमिका, मुझे यह कैसे याद आया? धन्यवाद, समस्या को पूरी तरह से ठीक किया।
डेविड थॉमस गार्सिया

6

IIS के तहत, अपनी वेब साइट पर जाएं और MIME प्रकार अनुभाग देखें (नीचे दी गई छवि देखें)। सुनिश्चित करें कि आप .js, .css, .html, आदि के लिए उस सूची में प्रविष्टियाँ देखते हैं और उनके पास उचित MIME प्रकार निर्दिष्ट है। यदि कोई MIME प्रकार निर्दिष्ट है तो IIS 7.5 केवल पृष्ठों की सेवा करेगा। डिफ़ॉल्ट रूप से, इन एक्सटेंशन के लिए MIME प्रकार फ़ोल्डर applicationHost.configमें स्थित फ़ाइल में सेटअप होते हैं C:\Windows\system32\inetsrv\config(आपको फ़ाइल देखने के लिए प्रशासक के रूप में नोटपैड को चलाना पड़ सकता है)। बस .js को खोजें और आपको तत्व <mimeMap>में एक प्रविष्टि मिलनी चाहिए <staticContent>

आईस माइम प्रकार

ये सेटिंग्स आपकी web.configफ़ाइल में ओवरराइड की जा सकती हैं । यदि वे हैं तो वे निम्नलिखित स्थान पर दिखाई देंगे web.config:

<system.webServer>
    <staticContent>
        <remove fileExtension=".js" />
    </staticContent>
</system.webServer>

मैं निश्चित रूप से वहाँ जाँच करके शुरू करूँगा। यदि MIME प्रकार अनुभाग के तहत सब कुछ ठीक दिखता है, तो यह संभव है कि आपके पास एक मॉड्यूल है जो स्थिर फ़ाइलों के अनुरोधों के साथ हस्तक्षेप कर रहा है (लेकिन सबसे अधिक संभावना है कि यदि आप <modules runAllManagedModulesForAllRequests="true" />अपने <system.webServer>अनुभाग में सेट किए गए हैं )। अगर ऐसा है तो मैं आपके सभी मॉड्यूल सेटअप को हटा web.configदूंगा और देखूंगा कि क्या आप स्टैटिक फाइल को ला सकते हैं, और फिर एक बार उन्हें पढ़कर देख सकते हैं कि कौन सा मॉड्यूल समस्या पैदा कर रहा है। यदि आप इसका पता नहीं लगा सकते हैं तो मैं प्रश्न में आपकी web.config(या कम से कम system.webऔर system.webServerवर्गों की) सामग्री पोस्ट करने का सुझाव दूंगा ।


2

मेरे पास एक ही मुद्दा था, लेकिन मेरा ऐप पूल एक डोमेन खाते के तहत चल रहा था और उस उपयोगकर्ता के पास वेबसाइट फ़ोल्डर के अधिकार थे। मेरी वेबसाइट ने aspx को प्रस्तुत किया लेकिन कोई स्थिर सामग्री नहीं है। IIS_IUSRS समूह को स्थानीय सुरक्षा नीति में जोड़ने के लिए जो मेरा मुद्दा हल हुआ, उसे "प्रमाणीकरण के बाद ग्राहक को प्रतिरूपण करना" कहा जाता है। IIS_IUSRS समूह में मेरा डोमेन खाता था। मैं iis 7.5 विंडोज़ 2008 सर्वर चला रहा हूं।


काश मैं एक से अधिक बार उत्थान कर पाता। मैं इस सवाल पर आया था कि मेरी .css फ़ाइलों को IIS द्वारा क्यों नहीं परोसा जा रहा है। यह उन फ़ोल्डरों पर विंडोज अनुमतियों से संबंधित था जहां उन्हें संग्रहीत किया गया था।
2b77bee6-5445-4c77-b1eb-4df3e5
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.