IIS 7.5 statik html sayfaları yüklemiyor


10

Özel bir sunucuya yeni yüklenen bir IIS 7.5 vardır. ASP.NET 4.0 Web uygulaması klasörüne kopyalandı, 80 sonrası kendi IP'sinde yeni web sitesi oluşturuldu, IIS_IUSR ve IUSR hesapları sitenin klasöründe okuma / yürütme haklarına sahip, site 4.0 .NET ile kendi Entegre uygulama havuzuna atandı (Aynı sonuçları Klasik havuz denedim).

Sorun: Bu web sitesine erişmeye çalıştığımda, tarayıcı yalnızca aspx sayfaları, .axd dosyaları vb. Gibi .NET kaynakları tarafından oluşturulan içeriği yükler. Statik görüntüler, statik js, css ve html dosyaları sayfa kaynağındadır, ancak IIS onlara hizmet etmeyin. Tüm tarayıcılardaki geliştirme araçları, tüm bu statik kaynakların sunucu tarafından yanlış içerik türüne (resim, stiller vb. Yerine düz metin) gönderildiğinden şikayet eder. Neyi yanlış yapıyorum?


Fiddler'de (veya Firebug'da) ne görüyorsun?
SLaks

Bu mümkün ise sayfayı sunucuda çalıştırın, özellikle sunucudaki statik içeriği tek başına çalıştırın ve tamamen ayrıntılı hata raporu alırsınız.
Aristos

Firebug kullanmıyorum. Ancak Chrome, örneğin, sayfadaki bir jpg dosyası hakkında "Resim Resim olarak yorumlandı, ancak MIME türü metin / düz ile aktarıldı" kaynağından şikayet ediyor. Tüm stiller, js ve statik html sayfaları için aynıdır. Ayrıca, dinamik betik ve html yükleri çalışmaz.

@ Aristos: Bunu ben yaptım. Sunucunun tarayıcısı, sayfayı harici tarayıcıların yaptığı gibi işler. Hata yok, sadece eksik sayfa.

Web sunucusunu çalıştıran kullanıcının bu dosyaları okuma hakkı var mı?
Luc M

Yanıtlar:


12

IIS 7 / 7.5'in yeni bir "özelliği" vardır - Rol Hizmetleri. Rsbarro'nun gönderisi bana statik içerikten sorumlu bir rol hizmeti olduğunu hatırlattı. Web Sunucusu / Ortak HTTP Özellikleri / Statik İçerik. Rsbarro'nun önerdiği gibi IIS Yöneticisi'nde MIME Türleri simgesinin olup olmadığını kontrol edin.

Statik İçerik rol hizmetini yüklemiyorsa yüklemeniz gerekir. Bunu yapmak için aşağıdakileri seçin:

  • Sunucu Yöneticisi
  • Roller
  • Sol bölmeden Web Sunucusu (IIS) düğümü
  • Rol Hizmetleri penceresine kaydır
  • Statik İçerik rol hizmetinin yüklü olup olmadığına bakın.

Açıkladığınızdan, bu sizin probleminiz gibi görünüyor.

Genel olarak, IIS7, IIS6'nın yaptığı bir şey yapmazsa, denetlenecek ilk şey, karşılık gelen rol hizmetinin yüklü olup olmadığını görmektir. Bu yardımcı olur umarım.


Statik İçerik rolü, bunu nasıl özledim? Teşekkürler, sorunu mükemmel bir şekilde düzelttim.
David Thomas Garcia

6

IIS altında web sitenize gidin ve MIME Türleri bölümünü kontrol edin (aşağıdaki resme bakın). Bu listede .js, .css, .html vb. Girişleri gördüğünüzden ve bunların uygun MIME türünün belirtildiğinden emin olun. IIS 7.5 yalnızca bir MIME türü belirtilmişse sayfaları sunacaktır. Varsayılan olarak, bu uzantıların MIME türleri klasörde applicationHost.configbulunan dosyada C:\Windows\system32\inetsrv\configayarlanır (dosyayı görüntülemek için not defterini Yönetici olarak çalıştırmanız gerekebilir). Sadece .js'yi arayın <mimeMap>ve <staticContent>öğenin altında bir giriş bulmalısınız .

iis mime türleri

Bu ayarlar web.configdosyanızda geçersiz kılınabilir . Eğer öyleyse, aşağıdaki konumda görünürler web.config:

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

Kesinlikle orada kontrol ederek başlayacaktı. MIME türleri bölümünde her şey yolunda görünüyorsa, statik dosya isteklerine müdahale eden bir modülünüz olabilir (ancak büyük olasılıkla yalnızca bölümünüzde <modules runAllManagedModulesForAllRequests="true" />ayarladıysanız <system.webServer>). Bu durumda, tüm modül kurulumunu kaldırır web.configve statik dosyaları getirip getiremeyeceğinize bakarım ve ardından hangi modülün soruna neden olduğunu görmek için bunları teker teker okudum. Eğer anlayamıyorsanız, o zaman web.config(veya en azından system.webve system.webServerbölümler) içeriğini içeriğini soruya göndermenizi öneririm .


2

Aynı sorunu yaşadım, ancak uygulama havuzum bir etki alanı hesabı altında çalışıyordu ve bu kullanıcının web sitesi klasörü için hakları vardı. Web sitem aspx oluşturdu ancak statik içerik oluşturmadı. Sorunumu çözen şey, IIS_IUSRS grubunu "kimlik doğrulamasından sonra istemciyi taklit etmek" adlı yerel güvenlik ilkesine eklemekti. IIS_IUSRS grubunda etki alanı hesabım vardı. İis 7.5 Windows 2008 sunucusunu çalıştırıyorum.


Keşke birden fazla kez oy verebilseydim. .Css dosyalarımın neden IIS tarafından sunulmadığını ararken bu soruya geldim. Depolandıkları klasörlerde Windows izinleriyle ilgiliydi.
2b77bee6-5445-4c77-b1eb-4df3e5
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.