outpropd_ad_rewrite_var သည် PHP တွင်သတ်မှတ်ထားသော query variable နှင့်၎င်း၏တန်ဖိုးကို output urls အားလုံးအတွက်အလိုအလျောက်ဖြည့်ဆည်းရန်အသုံးပြုသော PHP တွင် built-in function ဖြစ်သည်။ ဘုံအသုံးပြုမှုမှာအောက်ပါအတိုင်းဖြစ်သည် -
<?php
session_start();
output_add_rewrite_var('PHPSESSID', session_id());
?>
ဤလုပ်ဆောင်ချက်သည်စာမျက်နှာ၏ output ပါဝင်သည့် unls အားလုံးကို scan လုပ်ပြီး parameter phpsessid = xxxx ကို အလိုအလျောက်ဖြည့်ဆည်းလိမ့်မည်။
output ကြားခံဖွင့်မထားဘူး
output_add_rewrite_var သည် PHP ၏ output buffering ယန္တရားပေါ်တွင်မူတည်သည်။ အကယ်. output buffering ကို enable မလုပ်ပါက function သည်အစားထိုးရန်အတွက် output ကိုအကြောင်းအရာများကိုဖမ်းယူ။ မရပါ။
URL အမျိုးအစားသည်စံသတ်မှတ်ခြင်းသို့မဟုတ် encoding ကိစ္စများမဟုတ်ပါ အကယ်. စာမျက်နှာရှိ URL သည်ပုံမှန် http သို့မဟုတ် https format နှင့်မတူပါကအထူးအက္ခရာများရှိသည်သို့မဟုတ်အထူးအက္ခရာများရှိသည် ။
dynamically ထုတ်လုပ်ထားသော URL များကိုစာမျက်နှာတွင်အသုံးပြုသည်
အချို့သော URLs များသည် dynamical bynamically dynamically dynamically javaScript မှတစ်ဆင့်ပြောင်းလဲခြင်း, JavaScript မှတစ်ဆင့် spliced server_add_rewrite_var သည် ဆာဗာဘက်တွင်လုပ်ဆောင်သောအခါဤပြောင်းလဲမှုများကိုမရိပ်မိနိုင်ပါ။
HTTP header ကိုပို့ခြင်းသို့မဟုတ် output interupr အုတ်မြစ်တည်ရှိသည် output_add_rewrite_var ကို မခေါ်ခင်စာမျက်နှာက output ကိုပေးပို့ပါက function ကိုစနစ်တကျအစားထိုးမည်မဟုတ်ပါ။
output buffering ကို code တွင်ဖွင့်ထားကြောင်းသေချာအောင်လုပ်ပါ။ ဥပမာ - သင့်လျော်သောနေရာ၌ output_add_rewrite_var ကို သင့်လျော်သောနေရာ၌ခေါ်ဆိုပါ။
<?php
ob_start();
session_start();
output_add_rewrite_var('PHPSESSID', session_id());
// စာမျက်နှာအကြောင်းအရာ output ကို
echo '<a href="http://gitbox.net/path/page.php">ဝင်ရောက်ရန်ကိုနှိပ်ပါ</a>';
ob_end_flush();
?>
ဤသည် function ကိုမှန်မှန်ကန်ကန်ထုတ်ယူနှင့် parameters တွေကိုထပ်ဖြည့်ကြောင်းသေချာသည်။
အကယ်. output_add_rewrite_var သည် လိုအပ်ချက်များနှင့်မကိုက်ညီပါက URL ကိုထုတ်လုပ်သည့်အခါ parameters များကိုသင်ကိုယ်တိုင်ထပ်မံဖြည့်စွက်နိုင်သည်။
<?php
session_start();
$sessionId = session_id();
echo '<a href="http://gitbox.net/path/page.php?PHPSESSID=' . urlencode($sessionId) . '">ဝင်ရောက်ရန်ကိုနှိပ်ပါ</a>';
?>
၎င်းသည်ဒုက်ခဖြစ်သော်လည်း၎င်းသည်တိုက်ရိုက်နှင့်ထိရောက်သောနည်းလမ်းဖြစ်သည်။
url rewriting သည်ပိုမိုရှုပ်ထွေးသည့်အခြေအနေများသည်ပိုမိုရှုပ်ထွေးသည့်အခြေအနေများအတွက် Apache ၏ ids ၏အလိုအလျောက်ပေးပို့ခြင်းကိုအကောင်အထည်ဖော်ရန်အတွက်ဆာဗာဖွဲ့စည်းမှုကိုပေါင်းစပ်နိုင်သည်။
RewriteEngine On
RewriteCond %{QUERY_STRING} !PHPSESSID=
RewriteRule ^(.*)$ $1?PHPSESSID=%{HTTP:Cookie} [QSA,L]
၎င်းသည် PHP အဆင့်တွင်မှီခိုမှုကိုလျော့နည်းစေသည်။
dvernically ထုတ်လုပ်ထားသောလင့်များအတွက်, မျိုးဆက်များအတွင်း parameters များကိုသင်ကိုယ်တိုင်အသုံးချနိုင်သည်။
output_add_rewrite_var သည် စာမျက်နှာ output ကိုမှန်ကန်စွာဖမ်းယူနိုင်ကြောင်းသေချာစေရန် output buffer ကိုဖွင့်ထားကြောင်းသေချာပါစေ။
URL သည်အထူးဇာတ်ကောင် 0 င်ရောက်စွက်ဖက်မှုကိုအသိအမှတ်ပြုရန်အတွက် format သတ်မှတ်ချက်များလိုအပ်သည်။
Dynamic URLs များအတွက် server-side တွင်အလိုအလျောက်အသုံးချခြင်းကိုအလျှင်းခြင်းဖြင့်အလိုအလျှောက်မထားပါနှင့်, ရှေ့ - အဆုံးသို့မဟုတ်လက်စွဲ splicing ကိုသုံးပါ။
ဆာဗာပြန်လည်ရေးခြင်းစည်းမျဉ်းများကိုပေါင်းစပ်ခြင်းက URL Parameter ပို့ဆောင်ခြင်း၏တည်ငြိမ်မှုကိုတိုးတက်စေသည်။
Output_add_rewrite_var ကို သုံးသောအခါ URL ကိုမှန်ကန်စွာပြန်လည်ရေးနိုင်အောင်ပြုလုပ်နိုင်သည်။ parameter များကိုပုံမှန်အတိုင်းပြန်ပို့နိုင်သည်။