عنوان:

‫ASP.NET FriendlyUrls و دریافت خطای 404


نویسنده: مجتبی صحرائی
تاریخ: ۱۳۹۲/۰۴/۱۰ ۱۴:۱۰
آدرس: www.dntips.ir

چند روز پیش تصمیم گرفتم از ASP.NET FriendlyUrls برای سفارشی کردن Url‌های سایت استفاده کنم

وقتی در لوکال تست میکردم همه چیز درست بود و بدون مشکل کار میکرد اما به محض اینکه سایت رو روی سرور Publish کردم و قصد پیمایش بین صفحات رو داشتم، با کلیک بر روی منوها با خطا 404 not found مواجه میشدم!

پس از کمی بررسی متوجه شدم که باید اسمبلی System.Web.Optimization.dll رو به وب سایت اد کنم و چند خط کد به web.config سایت اضافه کنم.

1- برای اضافه کردن System.Web.Optimization.dll به سایت روی References کلیک راست کنید و گزینه Manage Nuget Packages رو انتخاب کنید و سپس با جستجوی عبارت optimize از آیتم‌های پیدا شده Microsoft ASP.NET Web Optimization Framework رو نصب کنید.

2- خطوط زیر رو به web.config سایت اضافه کنید


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


با این تغییرات ایراد  ASP.NET FriendlyUrls برطرف شد

نظرات

  • محسن تقی پور در ۱۳۹۲/۱۱/۰۴ ۱۸:۵۷
    سلام
    من همین کاریو که شما فرمودینو انجام دادم ولی بازم 404 میده
    امکان داره دلیل دیگه ای داشته باشه ؟
    • وحید نصیری در ۱۳۹۲/۱۱/۰۴ ۱۹:۲۴
      - شخصی در نظرات بحث معرفی Friendly URLs عنوان کرده با نصب یک hot fix روی سرور مشکل خطای 404 آن حل شده.
      - همچنین نصب URL Rewrite extension روی IIS هم ضروری است.
    • مجتبی صحرائی در ۱۳۹۲/۱۱/۰۴ ۲۰:۲۹
      سلام
      با توجه به بررسی هایی که انجام داده بودم، با استفاده از روش ذکر شده مشکلم برطرف شد و بیشتر از اون هم جستجو نکردم
      در حال حاضر نظری ندارم و پیشنهاد میکنم توصیه آقای نصیری رو انجام بدید
      • محسن تقی پور در ۱۳۹۲/۱۱/۰۴ ۲۱:۴۳
        ممنون از پاسخ دوستان
        بله طبق برسی بنده هاست من  URL Rewrite extension   نداره