حل مشکل اجرای sitemap در MVC 5
حل مشکل اجرای sitemap در MVC 5
در این پست می خواهیم به صورت کامل به بررسی Routing در MVC 5 بپردازیم.
برای اینکه بخواهیم یک به یک صفحه مسیر دسترسی خاصی اعمال کنیم برای این کار دو روش وجود دارد.
روش اول استفاده از اتربیوت روی اکشن کنترل مورد نظر
[HttpGet] [Route("Contact")] public ActionResult Contact() { return View(); }
در مثال بالا در صورت عدم نوشتن Route نحوه دسترسی به صفحه تماس با ما به صورت زیر خواهد بود
http://mydomain.com/Home/Contact
اما با نوشتن Route مسیر دسترسی به صورت زیر خواهد بود
http://mydomain.com/ Contact
روش دوم انجام تنظیمات بالا در فایل RouteConfig.cs
routes.MapRoute("sitemap-xml", "sitemap.xml", new { controller = "Sitemap", action = "Sitemap", name = UrlParameter.Optional, area = "" }); routes.MapRoute("sitemap", "sitemap", new { controller = "Sitemap", action = "Sitemap", name = UrlParameter.Optional, area = "" });
در کدهای بالا نحوه دسترسی به اکشن متد sitemap به دو صورت زیر تعریف کردیم.
http://mydomain.com/ Sitemap
http://mydomain.com/ Sitemap.xml
ولی در بعضی اوقات دستری به sitemap به صورت Sitemap.xml امکان پذیر نیست برای حل این مشکل باید تنظیمی در فایل WebConfig انجام دهیم.
<modules runAllManagedModulesForAllRequests="true"> </modules>
در فایل وب گانفیگ خود دنبال modules باشید و runAllManagedModulesForAllRequests را برابر true قرار دهید. با انجام این تنظیم دسترسی به sitemap به صورت Sitemap.xml نیز امکان پذیر خواهد بود.
نظر / سوال