Saya menjalankan Aplikasi di pelabuhan aplikasi yang ditulis dalam MVC4.
Satu bundel file css tidak berfungsi. Di komputer lokal saya dalam mode debug saya melihat kode Aplikasi dan saya melihat file. Aplikasi berfungsi seperti yang diharapkan.
<link href="/Content/css/home/basic-jquery-slider.css" rel="stylesheet"/>
<link href="/Content/css/home/Home.css" rel="stylesheet"/>
Ketika saya mengunggah aplikasi ke Appharbor saya melihat bundel dalam kode tetapi Aplikasi tidak berfungsi.
<link href="/Content/css/home?v=zhVOIpUNuvCOZhJyBcQWpMlozayor4te6k-pM29wHqI1" rel="stylesheet"/>
Ketika saya menelusuri tautan itu di href
I get 403 - Forbidden: Access ditolak.
Bagaimana cara mengatasi masalah ini?
asp.net-mvc
asp.net-mvc-4
appharbor
asp.net-optimization
Ricardo Polo Jaramillo
sumber
sumber
Jawaban:
Dugaan saya adalah bahwa path
Content/css
ada pada disk di aplikasi Anda. Dalam hal ini IIS akan menangani permintaan, bukan MVC.Pastikan jalur virtual untuk bundel (parameter konstruktor StyleBundle) tidak cocok dengan folder di sistem file.
Dari komentar:
sumber
Masalah ini secara default .NET tidak "memproses" permintaan yang memiliki ekstensi .js atau .css.
Ada dua perbaikan untuk ini (Anda hanya perlu melakukan SATU)
A) Hapus ekstensi dari nama bundel. (disarankan) Ini akan menyebabkan .NET memproses permintaan dan menjalankannya melalui BundleModule.
B) Tambahkan ini ke web.config Anda di bagian system.webServer yang akan menyebabkan .NET menjalankan permintaan .js dan .css melalui BundleModule.
Teriak besar kepada Ray Moro yang menemukan penyebab sebenarnya dan membagikannya kepada saya di blog saya: http://blog.cdeutsch.com/2012/11/fixing-404-errors-for-aspnet-mvc-apps.html
sumber
Terjadi dengan saya juga, ketika saya mencoba menggunakan aplikasi ASP.NET MVC saya di AppHarbor.
Saya memiliki bundel stylesheet dengan nama
dan struktur folder itu
Dengan hanya mengubah nama bundel ke
"~/Content/bootstrap-css"
masalah saya bisa diselamatkan.sumber
Saya tahu saya terlambat 4 tahun untuk pertanyaan ini, tetapi ini berhasil bagi saya.
sumber
403 kesalahan terpecahkan. di sini adalah penjelasan rinci dan solusi untuk kesalahan 403.
Solusinya ditunjukkan untuk bundel CSS. Namun itu juga berlaku untuk JavaScript.
http://www.mvccentral.net/Story/Details/articles/kahanu/stylebundle-403-error-solved
Singkatnya, pastikan bahwa jalur virtual
[Script | Style]Bundle("~/content/[script | css]")
tidak cocok dengan folder di sistem file (misalnyaC:\approot\Content\[script | css]
)[Script | Style]Bundle("~/content/[scriptDiff | cssDiff]")
sumber
Saya memecahkan masalah dengan menambahkan baris kode di bawah ini di kelas BundleConfig
sumber
Apa yang saya lakukan sangat sederhana,
Saya menambahkan "js" di akhir ScriptBundle seperti: new ScriptBundle ("~ / bundles / appjs") Dan saya menambahkan "css" di akhir StyleBundle seperti: new StyleBundle ("~ / content / appcss")
Nama folder saya tidak pernah berakhir dengan "js" atau "css".
Itu harus dilakukan.
sumber
Ini juga berlaku untuk 'kelas ScriptBundle', pastikan bahwa 'nama parameter' untuk konstruktor tidak cocok dengan jalur di sistem file aplikasi web. Ingat bahwa IIS akan mencoba menyajikan file / permintaan.
sumber
Masalahnya juga bisa berasal dari file yang dienkripsi. Ini terjadi pada saya ketika saya mengunduh BootStrap dan menggunakan file yang disediakan. Mereka menunjukkan hijau di Windows explorer dan bekerja dengan baik di Visual Studio, tetapi ketika digunakan, saya mendapat kesalahan 403.
Anda dapat melihat apakah mereka dienkripsi dengan masuk ke properti, lalu properti lanjut dan ada kotak centang terenkripsi.
Hapus centang dan itu tidak akan lagi menjadi masalah.
sumber
Saya memiliki masalah yang sama dengan kesalahan (403 Forbidden) itu. Dalam kasus saya alasannya adalah server proxy di organisasi saya memblokir file css saya. Nama file Css cocok dengan salah satu aturan blokir.
sumber
Saya menemukan file bootstrap.css tidak ada di folder konten, jadi saya mencarinya di paket dan disisipkan di sana .. itu berhasil!
sumber