كيف أقوم بإصلاح الخطأ 404.17 على Win Server 2k8 وIIS7

StackOverflow https://stackoverflow.com/questions/87107

  •  01-07-2019
  •  | 
  •  

سؤال

لقد قمت بإعداد موقع ويب .net 2.0 جديد على IIS 7 ضمن Win Server 2k8 وعند التصفح إلى صفحة ما، فإنه يعطيني خطأ 404.17، مدعيًا أن الملف (default.aspx في هذه الحالة) يبدو وكأنه برنامج نصي ولكن يتم تشغيله يتم التعامل معها بواسطة معالج الملف الثابت.يبدو أن تعيينات الوحدة النمطية لـ ASP.Net قد تم العبث بها، لكنها تبدو جيدة في التكوينات.هل لدى أحد اقتراح لتصحيح هذا الخطأ؟

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

المحلول

لقد واجهت هذه المشكلة على IIS6 ذات مرة عندما تعطلت عناصر ASP.NET ISAPI بطريقة ما.

جري

%windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i 

لإعادة الإعدادات اعتنى بها.

نصائح أخرى

عملت هذا الحل بالنسبة لي...(لقد كان لدي aspnet_regiis.exe - لقد قمت ببعض الأضرار)

http://forums.iis.net/t/1157725.aspx

1. Locate your App Pool and Right Click
2. Select Basic Settings
3. Select your current .Net Framework Version
4.Restart the App Pool 

بالنسبة لي عملت عن طريق القيام بما يلي

قم بتثبيت ASP.NET

cd %windir%\Microsoft.NET\Framework64/v4.0.30319
aspnet_regiis.exe -i
  • التالي انتقل إلى IIS Manager وانقر على عقدة الخادم (الجذر).
  • في عرض الميزات، قسم IIS، افتح "قيود ISAPI وCGI"
  • انقر بزر الماوس الأيمن فوق عمود تقييد ASP.NET 4 وانقر بزر الماوس الأيمن للسماح

آمل أن يعمل لك..

بالنسبة لي، جاءت مشكلتي بسبب أحد الإعدادات في ملف web.config الخاص بمشروعي (وكذلك الحل، بمجرد أن فهمت المشكلة).

في ملف web.config الخاص بي، كان لدينا هذين السطرين في ملف system.webServer> المعالجات منطقة:

<remove name="WebServiceHandlerFactory-ISAPI-2.0" />
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

لاحظ أن المعالج البديل لديه السمة "preCondition = "integratedMode"".لذلك، اضطررت إلى تغيير AppPool الخاص بي لاستخدامه مدمج بدلاً من كلاسيكي لاجلي وضع خط الأنابيب الإعداد (وهو عكس ما طلبت مني الحلول المذكورة أعلاه أن أفعله).

حاول دائمًا "الرجوع إلى الأصل" في تعيينات المعالج أولاً.

كنت أحصل على 404.17 عند محاولة تشغيل ASP.NET 4.0 في IIS 7.5.لقد جربت كل ما سبق وحصلت في النهاية على إعداد تعيينات المعالج الصحيحة يدويًا وانتهى الخطأ.

بعد ذلك، على موقع ويب آخر به نفس الخطأ، حاولت "الرجوع إلى الأصل" في "تعيينات المعالج" وأضفت 6 *.aspx تعيينات وكل شيء يعمل بشكل مثالي.

من الواضح أنه سيتعين عليك تهيئة البرنامج الرئيسي بشكل صحيح (من التثبيت أو غير ذلك)، ولكن هذه بالتأكيد هي الخطوة الأولى التي يجب على الجميع اتخاذها لأنها سهلة للغاية.

بالنسبة لي كان الحل هو النقر على "الرجوع من الموروث" من قسم تعيينات المعالج ضمن التطبيق الافتراضي.

حتى الآن، لم ينجح أي من هذه الحلول بالنسبة لي.

لقد وجدت بعض الحلول الممكنة الأخرى (والتي لم تنجح معي):

طريقة واحدة فقط لحل هذه المشكلة..

تم تثبيت Windows7 لأول مرة ثم قم بتثبيت IIS 7 مع جميع الميزات

ثم قمت بتثبيت Visual Studio 2008/2010

أنا أعمل على Visual Studio 2008 و 2010 ولكني لم أر هذا الخطأ من قبل.

يمكنني أيضًا تجربتها على جهاز الكمبيوتر الخاص بصديقي.وأيضا أقوم بحل هذا الخطأ.

بالنسبة لي، تم حل هذه المشكلة عن طريق ضبط تطبيق 32 بت على القيمة true.

غير ما سبق عملت بالنسبة لي.خادمنا هو 64 بت، لذا فإن إعداد التطبيق للسماح لتطبيقات 32 بت يعمل لصالحنا:

  • انتقل إلى تجمعات خادم\تطبيقات الويب
  • انقر بزر الماوس الأيمن على تجمع التطبيقات الذي يستخدمه موقع الويب الخاص بك.
  • انقر على الإعدادات المتقدمة...
  • اضبط "تمكين تطبيقات 32 بت" على "صحيح".

أعتقد أن هذا كان بسبب تجميع تطبيق الويب لـ 32 بت فقط.

%windir%\Microsoft.NET\Framework64\v2.0.50727\aspnet_regiis.exe -i

عملت من أجلي بعد الحصول على "محاولة لتحميل برنامج بتنسيق غير صحيح ..." مع إطار 32

ربما سأوفر لك ثانية أخرى من البحث على Google

لي، هذا عمل.يقوم بتثبيت أقسام تكوين الجهاز والمعالجات والتجمعات والوحدات النمطية والبروتوكولات والكثير من الأشياء الأخرى لتشغيل الأشياء بشكل صحيح.

بالنسبة لي، لم يتم التحقق من تنشيط HTTP في ميزات الخادم.

كنا بحاجة إلى تثبيت ASP.NET 3.5 و4.5 وملحقات ISAPI ومرشحات ISAPI وما يتضمنه جانب الخادم، في قائمة ميزات Windows ضمن ميزات تطوير IIS.

بدلاً من ذلك، قم باستخدام سطر الأوامر DISM:

Dism /online /enable-feature /featurename:NetFx3 /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:NetFx4 /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ISAPIExtensions /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ISAPIFilter /All /Source:WindowsInstallers\Win8\sxs /LimitAccess
Dism /online /enable-feature /featurename:IIS-ServerSideIncludes /All /Source:WindowsInstallers\Win8\sxs /LimitAccess

أدى تنشيط http ضمن خدمات WCF إلى تشغيل / إيقاف تشغيل ميزات Windows إلى حل المشكلة.

في حالتي، لم تحل أي من الإجابات المذكورة أعلاه المشكلة، وكان السبب هو ذلك لم يتم تثبيت وحدة CGI.

لحل هذه المشكلة اتبعت هذه التعليمات.

https://docs.microsoft.com/en-us/iis/configuration/system.webserver/cgi

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top