سؤال

أواجه هذه المشكلة الغريبة عندما قمت بتعيين:

BundleTable.EnableOptimizations = true;

عندما أحاول فتح موقع الويب الخاص بي، لا يتم تحميله، وعندما أفتح وحدة تحكم Chrome، أرى الرسالة التالية:

الحصول على /localhost/bundles/scripts/angularjs/commonmodules?v=13-uWpwzN3U6kiHVssXRdpywHxrn09twvYKwoDVN3SU1 404 (غير موجود)

ومع ذلك، إذا حاولت فتح الرابط الظاهر على وحدة التحكم في Chrome، فسيتم تحميله بشكل جيد، بمعنى آخر، يتم العثور على الرابط عندما أحاول فتحه مباشرة، لكن الخادم (IIS 7.5) يعرض 404 عندما تحاول الصفحة ذلك ربطه من خلال علامة.

هل مر أي شخص بمثل هذا السلوك الغريب؟

لا يتم تعيين المسارات الافتراضية لحزمي لأي ملف أو دليل موجود، فأنا أقوم بتضمينها باستخدام الكود التالي:

var myBundle= new ScriptBundle("~/bundles/scripts/angularjs/bootstrapping");
bootstrapping.Include("~/app/app.js")
    .Include("~/app/config.js")
    .Include("~/app/config.exceptionHandler.js")
    .Include("~/app/config.route.js");
bundles.Add(bootstrapping);

ولقد حاولت بالفعل إضافة الأسطر التالية على system.webServer الخاص بـ web.config:

<modules runAllManagedModulesForAllRequests="true">
    <remove name="BundleModule" />
    <add name="BundleModule" type="System.Web.Optimization.BundleModule" />
</modules>

لست متأكدًا مما إذا كان هذا مرتبطًا، ولكنني أستخدم Umbraco v7 على هذا الموقع، ويحدث هذا فقط إذا قمت بتعيين EnableOptimizations على "true".

هل كانت مفيدة؟

المحلول

إذا كنت أتذكر بشكل صحيح، فهو متعلق بتكوين umbraco.

حدد موقع المفتاح umbracoReservedPaths (في appSettings) في الخاص بك web.config وأضف المسار إلى الحزم هناك، كما يلي:

<add key="umbracoReservedPaths" value="~/umbraco,~/install/,~/bundles/"/>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top