အဓိက အကြောင်းအရာ - Content၀က်ဘ်ဆိုက်တစ်ခုတည်ဆောက်သည့် အခါ တခါတရံ အကြောင်းအမျိုးမျိုးကြောင့် အင်တာနက်စာမျက်နှာများကို လမ်းကြောင်းလွှဲခြင်း (Link Redirecting) ပြုလုပ်ကြရသည်။
ဥပမာ - စာမျက်နှာတစ်ခု၏ လမ်းကြောင်းကို mmshare.org/example.html ဟု အမည်ပေးထားသည် ဆိုကြပါစို့။ ထိုစာမျက်နှာကိုလည်း Search Engine များအပါအ၀င် အချို့သူများက မှတ်သား (Bookmark) ထားကြသည်ဟု ဆိုပါစို့။ အချိန်ကာလ တစ်ခု ကြာသည့် အခါ အကြောင်းအားလျော်စွာ ထိုစာမျက်နှာကို ပိုမိုကောင်းမွန်သော အကြောင်းအရာများ ဖြည့်ဆည်းပြီး - ဥပမာ mmshare.org/web-site-example.html ဟု အမည် ပြောင်းလိုက်သည်။ ဤအခြေအနေမျိုးတွင် လမ်းကြောင်းလွှဲခြင်းမှာ များစွာ အရေးပါလာသည်။ ယခင်လမ်းကြောင်း example.html သည် web-site-example.html ပင်ဖြစ်ကြောင်း၊ ယခင်လမ်းကြောင်း အဟောင်းကို မှတ်သားထားသူများ နောက်တစ်ကြိမ် ပြန်လာသည့်အခါ လမ်းကြောင်းသစ်ဆီသို့ လွှဲပြောင်းပို့ဆောင်ရန် လိုအပ်လာသည်။
လမ်းကြောင်းလွှဲခြင်း (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 ကိုသုံးပြီး ကြည့်ရှုနေသော အင်တာနက်စာမျက်နှာများတွင် ရှေ့နောက် သွားနိုင်မည်။
Meta Refresh tag သို့မဟုတ် JavaScript များကို အသုံးပြုသည့် နည်းလမ်းများဖြင့်လည်း User များကို အခြားသော အင်တာနက် လိပ်စာများသို့ လမ်းကြောင်းလွှဲပေးနိုင်သည်။ သို့သော် အကောင်းဆုံးနည်းမှာ 301/302 status code များ သုံးခြင်း ဖြစ်သည်။
အင်တာနက်လိပ်စာ လမ်းကြောင်းများလွှဲခြင်းကြောင့် ဖြစ်ရသည့် အဓိက ပြဿနာမှာ အသုံးပြုသူများအတွက် သုံးစွဲမှု အရသာ (User Experience) ကျဆင်းခြင်း ဖြစ်သည်။ User နှင့် ကြည့်ရှုလိုသည့် အင်တာနက်စာမျက်နှာတို့ကြားတွင် လမ်းလွှဲတစ်ခု ထည့်လိုက်သည့်အတွက် ထိုစာမျက်နှာသစ်သို့ မရောက်မခြင်း -
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 ကို သုံးပြီး ဖြေရှင်းနိုင်သည်။
အင်တာနက်လိပ်စာ လမ်းကြောင်းလွှဲခြင်း ကို အများအားဖြင့် အောက်ပါ အခြေအနေများတွင် အသုံးပြုလေ့ ရှိကြသည်။
အထက်ဖော်ပြပါ အခြေအနေများတွင် Redirect များကို အသုံးပြုခြင်းအားဖြင့် Web Developer များအတွက် အချိန်ကုန်ခြင်း၊ အလုပ်ရှုပ်ခြင်းများ သက်သာစေသည်။ သို့သော် User များ၏ အင်တာနက်သုံးစွဲမှု အတွေ့အကြုံ (အရသာ) (User Experience) ကို များစွာ ကျဆင်းစေသည်။ ထို့ကြောင့် အင်တာနက်လိပ်စာများကို လမ်းလွှဲတော့မည်ဆိုပါက
(CNAME - Domain name တစ်ခုမှတစ်ခုသို့ ပြောင်းလဲလမ်းညွှန်ရန်အတွက် သတ်မှတ်ပေးရသည့် DNS record - http://en.wikipedia.org/wiki/CNAME_record)
REFERENCES
Add new comment