لماذا يظهر خطا 404 في المواقع التي تستخدم asp.net routing

إن  asp.net routing مفهوم جديد في الدوت نت 4 ، رغم وجود بدايات له في الإصدار 3.5.1 ،  وعند العمل على الخادم المحلي localhost ستعمل معاك هذه التقنية بدون أدنى مشاكل ، ولكن عند الرفع على الاستضافة ، ستجد ظهور مشكلة
404 – File or directory not found.
واجهتني هذه المشكلة في كل مرة أرفع مواقعي ، وقررت أن أضع الحل حتى لا يتغلب به إخوة مرة أخرى ، لانني في كل مرة ، كنت أفتح ملف الإعدادات القديم Web.Config  وأنسخ ما وضعته مرة أخرى
الحل يكمن في التأكد من أن HTTP Redirection ، منصبة على خادم الاستضافة Hosting Server ، وهنا أغلبنا لا يملك الوصل إلى الخادم Server ، وإنما لديه لوحة تحكم عادية ، وغالبا ما تكون هذه الميزة مفعلة في الخادم، وإن أكملت باقي الخطوات ولم تنجح ، قم بمراسلة شركة الاستضافة لتفعلها لك

الخطوة الثانية ، يتوجب عليك ن تكون بإضافة هذه الوسوم إلى ملف الإعدادات Web.config  ، كالتالي

       <system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="UrlRoutingModule"/>
<add name="UrlRoutingModule" type="System.Web.Routing.UrlRoutingModule, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</modules>
<handlers>
<add name="UrlRoutingHandler" preCondition="integratedMode" verb="*" path="UrlRouting.axd" type="System.Web.HttpForbiddenHandler, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/> </handlers>
</system.webServer>

أيضا لا تنسى من وجود المواصفة targetFramework="4.0" في وسم الإعدادات compilation بهذا الشكل

     <compilation targetFramework="4.0" />      

بإذن الله ستعمل معاك الأمور الآن بشكل تمام إذا كانت الشيفرة المكتوبة صحيحة ، أيضا في بعض الأحيان ، كان يتوجب علي أن أغير المزود من asp.net 4.0 classic إلى asp.net 4.0 Integrated pipeline

عن الكاتب

خليل سليم

اترك تعليق

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.