Pytanie Pakiet w stylu MVC4 dający 403


Po włączeniu pakowania / minifikacji niektóre pakiety wydają się mieć nieprawidłowy URL w przeglądarce (kończący się znakiem /), a IIS daje zabroniony błąd 403, tak jakby próbował wyświetlić zawartość folderu.

Nie ma różnicy w sposobie konfigurowania moich pakietów - nie są .min.css, uprawnienia dostępu są poprawne itd.


76
2017-12-02 20:55


pochodzenie


możliwy duplikat ASP.NET MVC 4.5 Pakiety CSS nie działają na serwerze - slolife
Możliwy duplikat ASP.NET MVC 4.5 Pakiety CSS nie działają na serwerze - Michael Freidgeim


Odpowiedzi:


Moje pakiety zostały zarejestrowane jako ścieżki odpowiadające rzeczywistemu folderowi rozwiązania, np. ~/Content/forum.

Działa to dobrze, gdy pakowanie jest wyłączone (pakiet jest dołączony poprawnie!), Ale nie po włączeniu pakowania.

Rozwiązaniem jest zmiana zarejestrowanej nazwy pakietu, tak aby nie był taki sam jak wszystko, co istnieje w systemie plików.


195
2017-12-02 20:55



Zauważ także, że jeśli pliki CSS odnoszą się do zdjęć lub innych plików w stosunku do CSS, upewnij się, że nazwa pliku pakietu jest czymś pod folder zawierający aktualny CSS. Na przykład, ~/Content/myfolder/bundle jeśli CSS jest pod Content/myfolder - Kieren Johnstone
Miałem dwa pakiety: ~ / Content / kendo (dla css) i ~ / bundles / kendo (dla skryptów). A więc: błąd 403. Kiedy zmieniłem nazwę jednego z nich - problem minął. Dzięki. - VikciaR
co to znaczy, oczywiście, nazwa samego pakietu? - Don Thomas Boyle
@DonThomasBoyle - pytasz mnie? Nigdzie nie używam tego zwrotu - Kieren Johnstone
@KierenJohnstone przepraszam, że nie jest konkretny, "Change the registered name of the bundle" co masz na myśli? - Przyjąłem nazwę pakietu MY przydzielać. Lubię (część pogrubiona) -> bundles.Add(new StyleBundle(  "~ / Content / css"  ).Include("~/Content/site.css")); - Don Thomas Boyle


W moim przypadku pakiet został określony jako katalog @Scripts.Render("~/scripts") więc IIS nie wiedział, jak obsługiwać rzeczywisty plik js, zmieniłem nazwę pakietu, aby reprezentował plik javascript @Scripts.Render("~/scripts.js") i to naprawiło. To samo dotyczy mojego zestawu styli.


2
2017-11-07 20:31