هنوز چند بایت مونده که پیدا کنم...

هدایت صفحه ها به آدرس جدید از طریق وب کانفیگ

برا من که خیلی پیش آمده که میخوام مثلا یه صفحه رو هدایت کنم به یه آدرس دیگه یا مثلا یه گروه از صفحات رو که شامل فلان کاراکترها میشن (منظورم وایلد کاراکتر هاست شامل * و ؟ ) ارجاع بدم به یه آدرس دیگه. چرا ؟ چون وقتی شما مثلا سیستم های نرم افزاری رو ارتقاء میدین و تغییراتی توی روتینگ و غیره دارید باید آدرس های قدیم رو برای کابران (شامل موتورهای جستجو) معتبر نگه دارین.
 
بذارین برا روشن شدن قضیه یه مثال واقعی بزنم. ما سیستم نرم افزاری مورد استفاده برخی از بیمارستان های طرف قرارداد رو آپدیت کردیم. قبلا مراجعین بیمارستان ها وقتی میخواستن از سیستم ما به عنوان یک خدمت ارائه شده توسط بیمارستان استفاده کنن به سایت بیمارستان میرفتن و روی لینک مربوطه کلیک میکردن. وب سایت بیمارستان ها توسط ما طراحی و نگهداری نمیشه. پس فقط یک لینک داده بودیم بهشون. برای اتوماسیون همه بیمارستان ها کدی به هر بیمارستان تعلق گرفته بوده که مشخص شه این کاربر میخواد تو کدوم بیمارستان عضویت داشته باشه :
 
http://www.TestHealthCareApp.Com/Register/hyww5ofgaxdp
که این تکه آخر "hyww5ofgaxdp" کد منحصر به فرد هر بیمارستان بود.
 
بعد از مدتها سیاست شرکت تغییر کرد و بنا شد به هر بیمارستان کدهای قابل فهم و معنی داری اختصاص پیدا کنه و دلیلش توسعه و پیاده سازی اپلیکیشن جدید بود که کلا بستر متفاوتی رو ارائه میکرد. مثلا فرض کنید بیمارستان St John of God Murdoch Hospital در استرالیا کدش میشد AUSJM و در اپلیکیشن جدید هم مسیر ثبت نام به شکل زیر تغییر کرده بود :
 
http://app.NewHealthCare.Com/Signup/AUSJM
 
از جایی که ما نمیخواستیم کاربرای قبلی رو به سیستم جدید منتقل کنیم و همچنین نمیخواستم کاربرای جدید از نرم افزار قدیمی استفاده کنن و با در نظر داشتن اینکه لینک ما در سایت بیش از 30 بیمارستان در سرار دنیا ثبت شده بود و مکاتبه با هرکدوم برای تغییر روزها زمان میبرد تصمیم گرفتم که از ارجاع لینک استفاده کنم. به این ترتیب تگ من در وب کانفیگ نرم افزار قدیمی به این شکل شد که به ازای هر بیمارستان یک کپی از تگ add گرفتم و به ترتیب جای خصوصیت wildcard عبارت {کدبیمارستان}/register/ و جای خصوصیت destination مسیر کامل جدید رو گذاشتم. و مساله حل شد.
 
در مورد ارجاعات 303 و 301 تحقیق کنید جالبه!
در این مورد می شد از URL ReWrite هم استفاده کرد. اما من اینو ترجیح دادم. اگر دلیلش مهمه باشه میتونید پیام بذارید که توضیح بدم.

 

 
<!-- 
      this is a sample web.config file, your file may have many other nodes
      just find this node "configuration > system.webServer" and add "httpRedirect" node if not exist
-->
 
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <httpRedirect enabled="true" exactDestination="true">
      <add wildcard="pathToBeRedirected" destination="redirectTo" />
      <!-- My Example Redirect -->
      <!--<add wildcard="/Register/hyww5ofgaxdp" destination="http://app.NewHealthCare.Com/Signup/AUSJM" />-->
    </httpRedirect>
  </system.webServer>
</configuration>

نکته

How to redirect a page to another in web config (IIS)
نویسنده : محمد ملک مکان
دوشنبه 25 آبان 1394
+ 00 -

خوشحال میشیم نظرتُ بدونیم