IIS 7.5 - Nie można załadować pliku CSS

0

Witam,
Zainstalowałem na Win7 IIS 7.5. Strona w ASP pod .NET 4 działa, tylko arkusze stylów się nie ładują.
Jest to standardowa strona projektu ASP z Visual Studio 2010.
Style znajdują się w folderze Styles/Site.css.
Tak wygląda odwołanie do stylów w Site.master:

<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />

Dodam, że zawartość statyczną mam zainstalowaną razem z IIS.
Proszę o pomoc.

0

Spróbuj podać ścieżkę bezwzględną. Czyli np. http://localhost:49654/Styles/Site.css i daj znać czy działa. Upewnij się, że masz wszystko w poprawnych katalogach. Wygląda na problem w definicji lokalizacji, albo braku pliku w podanym miejscu.

Pozdrawiam
Łukasz Gawron

0

Hej, dzięki za odpowiedź.
Z ścieżką bezwzględną nie działa. Ogólnie jeżeli chcę wejść http://localhost/Styles/ przez http://localhost/Account/Login.aspx?ReturnUrl=%2fStylesocalhost/Account/Login.aspx?ReturnUrl=%2fStyles. Nie wiem czy to poprawne zachowanie, ale chcę go uniknąć i po podaniu ścieżki bezwzględnej chciałbym widzieć co w niej siedzi. W akcie desperacji pododawałam użytkownikowi IUSER_IIS wszystko możliwe prawa dla tego katalogu, no ale czego łatwo się domyślić.. Nie działa.

0

A bezwzględną ścieżkę podałeś w MasterPage czy w przeglądarce? Jeśli w przeglądarce podasz bezwzględną i nie wyświetli Ci pliku Site.css, to albo pliku Site.css tam nie ma, albo masz jakoś skonfigurowanego IIS'a i coś Ci blokuje - przekierowuje.

Możesz też spróbować pobrać wtyczkę Firebug do Firefoxa. Pozwala Ci analizować ruch międzu przeglądarką, a serwerem. Może wtedy się coś wyjaśni.

0

Bezwzględną podałem i tu i tu, i ani tu, ani tu nie działa..
Firebug mówi:

<link type="text/css" rel="stylesheet" href="Styles/Site.css">
Nie udało się wczytać źródła dla: http://localhost/Styles/Site.css

Więc pewnie rzeczywiście coś przekierowywuje. Gdzie mogę ustawić przekierowanie?

0

Kiedy odpalam serwer testowy z Visual Developera to localhost jest odpalany na jakimś wysokim porcie, na jakim porcie Ty masz odpalonego IIS'a? Bo widzę, że podajesz tylko localhost, czyli domyślnie chyba 80. Może tutaj tkwi problem?

I spróbuj w hrefie do cssa też ustawić bezwzględną ścieżkę bo widzę, że masz bez adresu serwera.

0

Tak, defaultowo miałem port 80 ustawiony. Na jakimś innym wyższym porcie również to samo.
Nie działa zarówno ze ścieżką bezwzględną (http://localhost:49650/Styles/Site.css) jak i względną.

0

Spróbuj zmienić nazwę pliku Site.css na jakąś inną, pamiętaj, żeby poprawić wpis w MasterPage. Miałem raz coś takiego, że skryypt js nie wczytywał się mimo, że wszystko było poprawnie podane. Po zmianie nazwy pliku skrypt załadował się. Może i Twój problem to rozwiąże.

0

No niestety :) Kurcze męczę się już z tym trochę.. Może by tak IISa przeinstalować..
Bleee...

0

Spróbuj może przekopiować Site.css do katalogu głównego aplikacji na serwerze i podpiąć odpowiednią ścieżkę do MasterPage. Jeśli to nie zadziała to pomysły mi się skończyły ;/

0

Dzięki za ciekawe uwagi, niestety również to nie zadziałało..
:(

0

sprawdź, czy w IIS Manager masz w MIME Types pozycję .css. jeśli nie masz, to dodaj, pamiętaj o kropce przed rozszerzeniem, mime-type to text/css.
jeśli to nie to, to wbij się w przeglądarce bezpośrednio na adres pliku css i podaj treść błędu, albo sprawdź pod firebugiem, ale tym razem w prawidłowej zakładce - "Sieć" - jaki status http zwraca IIS.
jeśli zaś zobaczenia zamiast treści błędu zostaniesz przekierowany na stronę logowania, to znaczy że w web.config masz włączoną autentykację, zapewne coś w tym stylu:

...<authentication mode="Forms"><forms loginUrl="..." .../></authentication>...

wyłącz to albo poczytaj w dokumentacji jak działa.

0

Coś takiego zwrócił mi Firebug:

Nagłówki odpowiedziładny wydruk

HTTP/1.1 302 Found
Location: /Account/Login.aspx?ReturnUrl=%2fStyles%2fcss.css
Server: Microsoft-IIS/7.5
X-Powered-By: ASP.NET
Date: Tue, 07 Jun 2011 16:41:37 GMT
Content-Length: 166


Nagłówki zapytaniaładny wydruk

GET /Styles/css.css HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1
Accept: text/css,*/*;q=0.1
Accept-Language: pl,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Accept-Charset: ISO-8859-2,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://localhost/Account/Login.aspx
Cookie: ASP.NET_SessionId=b2eylbbjvlws5t1yvuhob0mj
1

IIS zwrócił nagłówek Location przekierowując na stronę z logowaniem. opisałem już co zrobić w tej sytuacji.

0

Było coś na rzeczy jednak nie do końca :) Sprawa nie tyczyła się:

		<authentication mode="Forms">
			<forms loginUrl="~/Account/Login.aspx" timeout="2880" />
		</authentication>

tylko wystarczyło ustawić w IIS Managerze -> Uwierzytelnianie -> Uwierzytelnianie anonimowe i z 'Określony użytkownik' przełączyć na 'Tożsamość puli aplikacji'. Teraz śmiga.

1 użytkowników online, w tym zalogowanych: 0, gości: 1