Wszystkie moje aplikacje działały dobrze, ale nagle wszystkie witryny w IIS nie ładują css, obrazów, skryptów. Przekierowuje do strony logowania.
Jeśli się zaloguję, działa dobrze. np. mysite.com/Account/LogOn?ReturnUrl=%2fpublic%2fimages%2ficons%2f41.png
Na moim komputerze lokalnym działa dobrze bez logowania.
c#
asp.net-mvc
iis
Imran Rashid
źródło
źródło
Odpowiedzi:
Problem może polegać na tym, że usługi IIS nie obsługują zawartości statycznej, którą można skonfigurować tutaj:
Źródło: http://adilmughal.com/blog/2011/11/iis-7-not-loading-css-and-image/
Windows 10:
źródło
Miałem ten sam problem, nieuwierzytelniona strona nie ładowała CSS, JS i obrazów po zainstalowaniu mojej aplikacji internetowej w ASP.Net 4.5 w IIS 8.5 na Windows Server 2012 R2.
Wydawało się jednak, że nic nie rozwiązało problemu. W końcu spróbowałem ustawić tożsamość anonimowego użytkownika na tożsamość puli aplikacji i zaczęło działać.
Uderzyłem się w głowę przez kilka godzin i mam nadzieję, że ta odpowiedź uratuje cierpienie innym programistom.
Naprawdę chciałbym wiedzieć, dlaczego to działa. jakieś pomysły?
źródło
CPUName\IIS_IUSRS
i nadal nie można było załadować. Dzięki jeszcze raz!Miałem podobny błąd, moja konsola wyglądała tak:
Mój problem polegał na tym, że prowadziłem witrynę w podfolderze, ponieważ firma korzystała z jednej domeny głównej i żadnych domen podrzędnych. Lubię to:
host.com/app1
host.com/app2
Mój kod wyglądał tak, aby zawierał skrypty, które działały dobrze na hoście lokalnym, ale nie w app1 lub app2:
Dodano znak tyldy
~
do src i wszystko działało:Wyjaśnienie
~
vs/
:/
- Katalog główny witryny~/
- Katalog główny aplikacji/
zwróci katalog główny witryny (http://host.com/
),~/
zwróci katalog główny aplikacji (http://host.com/app1/
).źródło
Spróbuj usunąć sekcję staticContent z pliku web.config .
źródło
To może nie odpowiadać na twoje pytanie, ale uderzałem głową z tymi samymi objawami w nowej instalacji IIS. CSS, JS i obrazy nie były wyświetlane. Wynikało to z tego, że rola „Zawartość statyczna” nie została zainstalowana w usługach IIS 7.5.
źródło
Prawdopodobnie masz włączone uwierzytelnianie systemu Windows w pliku web.config. Na komputerze lokalnym poświadczenia systemu Windows są automatycznie przekazywane i działa. W działającej witrynie jesteś traktowany jak anonimowy użytkownik (ustawienie IE może to kontrolować, ale nie modyfikuj tego, chyba że naprawdę wiesz, co robisz).
Powoduje to:
To nie jest zepsute, po prostu działa zgodnie z przeznaczeniem, ale aby „naprawić” to:
źródło
Dodaj to do swojego pliku web.config
źródło
"~/Images"
Użyj tego w sekcji konfiguracyjnej pliku web.config:
źródło
To był problem z uprawnieniami systemu Windows, przenoszę folder, który dziedziczy złe uprawnienia. Kiedy przenoszę się do folderu wwwroot i dodam uprawnienia do użytkownika iis, zaczyna działać dobrze.
źródło
desktop
dowwwroot
folderu, dodatkowo dodałem pełną kontrolę do usługi sieciowej, która jest związana z pulą aplikacji.U mnie dodanie tego w
web.config
rozwiązaniu problemuźródło
Moja godzina bólu była spowodowana zdefiniowaniem typów MIME w web.config. Potrzebowałem tego dla serwera deweloperskiego, ale lokalne IIS go nienawidziły, ponieważ powielały typy MIME ... po usunięciu ich z web.config problem z js, css i obrazami nie ładującymi się zniknął.
źródło
To jest problem z uwierzytelnianiem. W moim przypadku rozwiązano to za pomocą poniższych kroków: 1- Przejdź do menedżera IIS, w lewym okienku rozwiń katalog główny serwera i wybierz aplikację internetową z węzła Witryny. 2- Na ekranie głównym przejdź do sekcji IIS i wybierz opcję Uwierzytelnianie. 3- Włącz uwierzytelnianie anonimowe. 4- Następnie wybierz Edytuj i ustaw Edytuj anonimowe dane uwierzytelniające na tożsamość puli aplikacji.
źródło
W moim przypadku,
Usługi IIS mogą załadować wszystko z
localhost
, ale nie mogą załadować moich plików szablonówapp.tag
z192.168.0.123
ponieważ
.tag
rozszerzenia nie było na liście.źródło
Aby to naprawić:
Przejdź do Internetowych usług informacyjnych (IIS)
Kliknij witrynę, na którą próbujesz załadować obraz
W sekcji IIS otwórz menu Uwierzytelnianie i Włącz także uwierzytelnianie systemu Windows.
źródło
Jedna sugestia, którą w przeszłości uznałem za pomocną podczas tworzenia witryn w środowisku testowym hosta lokalnego, podczas pracy z kopią witryny produkcyjnej. Upewnij się, że skomentowałeś tagi kanoniczne:
źródło
Jeśli wypróbowałeś wszystkie powyższe rozwiązania i nadal masz problemy, rozważ użycie metody ResolveClientUrl () z ASP.NET.
Skrypt na przykład:
Zamiast używać
Użyj metody
To było moje rozwiązanie, które zadziałało dla znajomego, któremu pomagałem!
źródło
Miałem ten sam problem. U mnie było to spowodowane ustawieniem nagłówka Cache-Control na poziomie serwera w IIS na no-cache, no-store. Więc dla mojej aplikacji musiałem dodać poniżej do mojego web.config:
źródło
Jedną z możliwych przyczyn jest to, że aplikacja oczekuje, że będzie działać na porcie 443 (standardowy port SSL), a port 443 jest już używany. Kilka razy spotkałem się z tym, gdy programiści próbowali uruchomić naszą aplikację, gdy Skype jest uruchomiony na ich komputerach.
Niesamowite, Skype działa na porcie 443. Moim zdaniem jest to straszna wada projektowa. Jeśli zobaczysz, że Twoja aplikacja próbuje działać na 444 zamiast 443, zamknij Skype, a problem zniknie.
źródło
Dodałem
app.UseStaticFiles();
ten kod w starup.cs metody Configure, niż jest to naprawione.I sprawdź swoje uprawnienia do tego folderu.
źródło
Do zdjęć użyj
w stylu użyj tego
źródło
W moim przypadku, gdy żaden z moich plików javascript, png ani css nie ładował się, wypróbowałem większość powyższych odpowiedzi i żadna nie wydawała się działać.
W końcu znalazłem „ Request Filters ” i musiałem dodać .js, .png, .css jako włączony / zaakceptowany typ pliku.
Po wprowadzeniu tej zmiany wszystkie pliki były poprawnie obsługiwane.
źródło
Jeśli widzisz błędy 403 w konsoli przeglądarki, sprawdź konfigurację pakietu MVC. Nazwy pakietów nie powinny pasować do żadnych istniejących nazw folderów w projekcie.
na przykład.
... spowodowałoby problemy dla usług IIS, gdyby struktura folderów $ (ProjectDir) \ Content \ css istniała w twoim projekcie, ponieważ próbuje przeszukać istniejący folder w poszukiwaniu zawartości pakietu, której tam nie ma.
Zamiast tego po prostu użyj czegoś takiego:
źródło
Ten problem występuje, gdy usługi IIS nie renderują zawartości statycznej, takiej jak pliki JS, CSS, obrazy.
Aby rozwiązać ten problem, wykonaj poniższe czynności:
Przejdź do Panelu sterowania> Włącz lub wyłącz funkcje systemu Windows> Internetowe usługi informacyjne> Usługi World Wide Web> Typowe funkcje HTTP> Zawartość statyczna.
Upewnij się, że zawartość statyczna jest włączona.
Bingo. Gotowe. Załaduj ponownie stronę, a zobaczysz całą statyczną zawartość.
źródło
Miałem dokładnie ten sam problem, wypróbowałem wszystkie sugestie, ale nic nie uzyskałem. Wkurzył mnie godzinami. Okazało się, że mój dostawca usług internetowych zablokował port 80 z kilku powodów.
Rada: sprawdź ruch. Upewnij się, że port 80 działa zarówno lokalnie (tj. Zapora), jak i zewnętrznie.
źródło