Avoid 301 Website Link Redirect

အဓိက အကြောင်းအရာ - Content၀က်ဘ်ဆိုက်တစ်ခုတည်ဆောက်သည့် အခါ တခါတရံ အကြောင်းအမျိုးမျိုးကြောင့် အင်တာနက်စာမျက်နှာများကို လမ်းကြောင်းလွှဲခြင်း (Link Redirecting) ပြုလုပ်ကြရသည်။

ဥပမာ - စာမျက်နှာတစ်ခု၏ လမ်းကြောင်းကို mmshare.org/example.html ဟု အမည်ပေးထားသည် ဆိုကြပါစို့။ ထိုစာမျက်နှာကိုလည်း Search Engine များအပါအ၀င် အချို့သူများက မှတ်သား (Bookmark) ထားကြသည်ဟု ဆိုပါစို့။ အချိန်ကာလ တစ်ခု ကြာသည့် အခါ အကြောင်းအားလျော်စွာ ထိုစာမျက်နှာကို ပိုမိုကောင်းမွန်သော အကြောင်းအရာများ ဖြည့်ဆည်းပြီး - ဥပမာ mmshare.org/web-site-example.html ဟု အမည် ပြောင်းလိုက်သည်။ ဤအခြေအနေမျိုးတွင် လမ်းကြောင်းလွှဲခြင်းမှာ များစွာ အရေးပါလာသည်။ ယခင်လမ်းကြောင်း example.html သည် web-site-example.html ပင်ဖြစ်ကြောင်း၊ ယခင်လမ်းကြောင်း အဟောင်းကို မှတ်သားထားသူများ နောက်တစ်ကြိမ် ပြန်လာသည့်အခါ လမ်းကြောင်းသစ်ဆီသို့ လွှဲပြောင်းပို့ဆောင်ရန် လိုအပ်လာသည်။

နည်းလမ်းများ - How to Redirect

လမ်းကြောင်းလွှဲခြင်း (Redirect) ကို 301 နှင့် 302 HTTP status codes များကို အသုံးပြုပြီး ဆောင်ရွက်နိုင်သည်။ အောက်ပါ ဥပမာတွင် 301 status code ဖြင့် လမ်းလွှဲထားသည့် ရေးသားချက်ကို မြင်ရမည်။

      HTTP/1.1 301 Moved Permanently
      Location: http://example.com/newuri
      Content-Type: text/html

အင်တာနက်ကြည့်ဆော့ဖ်၀ဲသည် အထက်ပါ ဖော်ပြချက်ကို တွေ့ရသည်နှင့် Location နေရာတွင် ဖော်ပြထားသည့် လိပ်စာဆီသို့ အလိုအလျောက် လမ်းကြောင်းပြောင်းသွားမည် ဖြစ်သည်။ လမ်းကြောင်းတစ်ခု ပြောင်းနိုင်ရန် အတွက်လိုအပ်သည့် အချက်အလက်များ အားလုံးမှာ Header များအတွင်း တည်ရှိနေသည်။ သီးခြားသတ်မှတ်ထားသည့် Expires, Cache-Control စသည့် Header များ မပါလျင် 301/302 Redirect များကို အင်တာနက်ကြည့်ဆော့ဖ်၀ဲများက သိုလှောင်သိမ်းဆည်း (Cache) ထားမည် ဖြစ်သည်။

အင်တာနက်စာမျက်နှာများကို လမ်းကြောင်းလွှဲကြသည့်အခါ အကောင်းဆုံးနည်းလမ်းမှာ အထက်ပါ ဥပမာကဲ့သို့ 301/302 HTTP status code များကို အသုံးပြုပြီး လမ်းကြောင်းလွှဲခြင်း ဖြစ်သည်။ ဤနည်းဖြင့်သာ အင်တာနက်ကြည့်ဆော့ဖ်၀ဲ၏ Back button ကိုသုံးပြီး ကြည့်ရှုနေသော အင်တာနက်စာမျက်နှာများတွင် ရှေ့နောက် သွားနိုင်မည်။

301 Redirect is the best by using mod_rewrite, alias and CNAME

Meta Refresh tag သို့မဟုတ် JavaScript များကို အသုံးပြုသည့် နည်းလမ်းများဖြင့်လည်း User များကို အခြားသော အင်တာနက် လိပ်စာများသို့ လမ်းကြောင်းလွှဲပေးနိုင်သည်။ သို့သော် အကောင်းဆုံးနည်းမှာ 301/302 status code များ သုံးခြင်း ဖြစ်သည်။

အားနည်းချက်များ - Disadvantages

အင်တာနက်လိပ်စာ လမ်းကြောင်းများလွှဲခြင်းကြောင့် ဖြစ်ရသည့် အဓိက ပြဿနာမှာ အသုံးပြုသူများအတွက် သုံးစွဲမှု အရသာ (User Experience) ကျဆင်းခြင်း ဖြစ်သည်။ User နှင့် ကြည့်ရှုလိုသည့် အင်တာနက်စာမျက်နှာတို့ကြားတွင် လမ်းလွှဲတစ်ခု ထည့်လိုက်သည့်အတွက် ထိုစာမျက်နှာသစ်သို့ မရောက်မခြင်း -

  • မည်သည့် အစိတ်အပိုင်းကိုမျှ ပုံဖော်ပြသခြင်း (Rendering) နှင့်
  • အစိတ်အပိုင်းများကို ဆွဲယူခြင်း (Downloading) များ မလုပ်နိုင်တော့ချေ။
  • ထို့ကြောင့် အသုံးပြုသူများအတွက် စောင့်ဆိုင်းရချိန် (Waiting Time) ပိုကြာသည်။

Web Developer အများစု အနေဖြင့် အမှုမဲ့ အမှတ်မဲ့၊ အထူးဂရုမစိုက်သည့် အတွက် မကြာခဏ ဖြစ်လေ့ရှိသည့် အကျိုးမရှိသည့် လုပ်ရပ်တစ်ခုမှာ အင်တာနက်လိပ်စာ များတွင် နောက်ပိတ် (/) (Trailing slash) ထည့်ပေးရန် မေ့လျော့ခြင်း ဖြစ်သည်။
ဥပမာ - http://mmshare.org နှင့် http://mmshare.org/ နှစ်ခုနှိုင်းယှဉ်သည့်အခါ http://mmshare.org ကို အင်တာနက်ကြည့် ဆော့ဖ်၀ဲတစ်ခုက Web Server မှ တောင်းဆိုပါက နောက်ပိတ်ထည့်မထားခြင်းကြောင့် 301 redirect ဖြစ်ပေါ်လာသည်။ ထို့နောက် ဆာဗာမှ http://mmshare.org/ သို့ လမ်းကြောင်းပြောင်းပေးမည် ဖြစ်သည်။

Apache web serever တွင် Alias သို့မဟုတ် mod_rewrite ကို အသုံးပြုကာ ဖြေရှင်းနိုင်သည်။ အကယ်၍ Apache handler များကို သုံးနေခြင်း ဖြစ်ပါက DirectorySlash directive ကို သုံးပြီး ဖြေရှင်းနိုင်သည်။

အသုံးပြုသည့် နေရာများ - When to use Redirect

အင်တာနက်လိပ်စာ လမ်းကြောင်းလွှဲခြင်း ကို အများအားဖြင့် အောက်ပါ အခြေအနေများတွင် အသုံးပြုလေ့ ရှိကြသည်။

  1. ၀က်ဘ်ဆိုက် အဟောင်းမှ အသစ်သို့ လိပ်စာများ လွှဲပြောင်းလိုသည့် အခါ..
  2. ၀က်ဘ်ဆိုက်တစ်ခုရှိ မတူညီသော အစိတ်အပိုင်းများကို ချိတ်ဆက်လိုသည့်အခါ..
  3. User များ၏ အင်တာနက်ကြည့်ဆော့ဖ်၀ဲ အမျိုးအစား၊ Account အမျိုးအစား စသည့် အခြေအနေများကို မူတည်ပြီး လမ်းကြောင်းများ သတ်မှတ်ပေးလိုသည့် အခါ..
  4. ၀က်ဘ်ဆိုက်နှစ်ခုကို အလွယ်တကူ ဆက်သွယ်ပေးလိုသည့် အခါ ...
    (ရိုးစင်းလွယ်ကူပြီး Coding အနည်းငယ် ရေးသားရန် လိုအပ်သည်။)

အစားထိုးသုံးနိုင်သည့် နည်းလမ်းများ - Alternative ways to redirect

အထက်ဖော်ပြပါ အခြေအနေများတွင် Redirect များကို အသုံးပြုခြင်းအားဖြင့် Web Developer များအတွက် အချိန်ကုန်ခြင်း၊ အလုပ်ရှုပ်ခြင်းများ သက်သာစေသည်။ သို့သော် User များ၏ အင်တာနက်သုံးစွဲမှု အတွေ့အကြုံ (အရသာ) (User Experience) ကို များစွာ ကျဆင်းစေသည်။ ထို့ကြောင့် အင်တာနက်လိပ်စာများကို လမ်းလွှဲတော့မည်ဆိုပါက

  • လမ်းကြောင်းအသစ်နှင့် အဟောင်းသည် Web Server တစ်ခုတည်းတွင် ဖြစ်လျှင် Alias နှင့် mod_rewrite များကို သုံးနိုင်သည်။
  • ၀က်ဘ်ဆိုက်လိပ်စာ (Domain name) ပြောင်းလဲသွားပါက Alias နှင့် mod_rewrite တို့ကို ပေါင်းစပ်ပြီး CNAME တစ်ခု ဖန်တီးကာ တွဲဖက်အသုံးပြု နိုင်သည်။

(CNAME - Domain name တစ်ခုမှတစ်ခုသို့ ပြောင်းလဲလမ်းညွှန်ရန်အတွက် သတ်မှတ်ပေးရသည့် DNS record - http://en.wikipedia.org/wiki/CNAME_record)

REFERENCES

Add new comment

Featured Articles