Paano mag-redirect sa PHP

How Redirect Php



Ang URL ng browser ng gumagamit ay maaaring mabago mula sa isang lokasyon patungo sa isa pa sa pamamagitan ng paggamit ng pag-redirect. Kinakailangan ang pag-redirect para sa maraming mga layunin, tulad ng paglipat mula sa HTTP patungong HTTPS, pagbabago ng domain, atbp. Kapag nagpadala ang gumagamit ng isang kahilingan para sa isang pahina sa server na wala o ng isang lokasyon ng pahina na nagbago, ang server ay ipadala ang impormasyon tungkol sa bagong URL na may 301 o 302 HTTP code. Tutulungan nito ang gumagamit na malaman ang tungkol sa bagong URL sa pamamagitan ng pag-redirect, at magpapadala ang gumagamit ng isang kahilingan sa bagong lokasyon upang makuha ang nais na nilalaman. Ang mga URL ay nagre-redirect sa PHP sa pamamagitan ng paggamit ang header () pagpapaandar Paano ang header () maaaring magamit ang pagpapaandar sa PHP upang mai-redirect ang URL mula sa isang pahina patungo sa isa pang pahina ay ipinapakita sa tutorial na ito.

pagpapaandar ng header ()

Ito ay isang built-in na pagpapaandar ng PHP upang ipadala ang hilaw na HTTP header sa kliyente. Ang syntax ng pagpapaandar na ito ay ipinapakita sa ibaba.







Syntax:
header ($ header, [$ palitan, [$ http_response_code]])



Ang pagpapaandar na ito ay maaaring tumagal ng tatlong mga argumento. Ang unang argumento ay sapilitan, at ang huling dalawang argumento ay opsyonal. Ang $ header ay ginagamit upang iimbak ang header string na naglalaman ng lokasyon ng pag-redirect. Ang $ palitan tumutukoy kung papalitan ang nakaraang magkatulad na header, at ang halaga ng argument na ito ay Boolean. Ang $ http_response_code ay ginagamit upang mag-imbak ng isang tukoy na code sa pagtugon na ipapadala sa gumagamit.



Halimbawa-1: Ire-redirect ang URL na may default code ng katayuan

Lumikha ng isang file na PHP gamit ang sumusunod na code na magre-redirect sa bagong lokasyon pagkatapos maghintay ng 2 segundo. Narito, ang ang () Ginagamit ang pagpapaandar upang wakasan ang script. Kapag ang header () Ginagamit ang pagpapaandar sa isang argumento, kung gayon 302 ay ginagamit bilang default na HTTP code.







// Maghintay ng 2 segundo
matulog (2);
// Redirect sa partikular na lokasyon
header ('Lokasyon: http: //localhost/php/contactForm/index.html');
ang ();

?>

Output:
Matapos maipatupad ang code, ang URL ay nai-redirect sa lokasyon http: //localhost/php/contactForm/index.html pagkatapos ng 2 segundo. Kung siyasatin mo ang code at buksan ang Network tab, pagkatapos ay ipapakita ito 302 bilang default code ng katayuan.



Halimbawa-2: Permanenteng i-redirect ang URL

Lumikha ng isang file na PHP gamit ang sumusunod na code na magre-redirect sa bagong lokasyon pagkatapos maghintay ng 2 segundo. Narito, ang ang () Ginagamit ang pagpapaandar upang wakasan ang script. Narito, ang header () ang pagpapaandar ay ginagamit sa tatlong mga argumento. Ang TOTOO ay ginagamit para sa ikalawang pagtatalo at 301 ay ginagamit para sa pangatlong pagtatalo. Ang 301 ginamit ang code ng katayuan upang permanenteng mag-redirect.



// Maghintay ng 2 segundo
matulog (2);
// Redirect sa partikular na lokasyon
header ('Lokasyon: http: //localhost/php/contactForm/index.html',TOTOO,301);
ang ();

?>

Output:
Matapos maipatupad ang code, ang URL ay nai-redirect sa lokasyon http: //localhost/php/contactForm/index.html pagkatapos ng 2 segundo. Kung siyasatin mo ang code at buksan ang Network tab, pagkatapos ay ipapakita ito 301 bilang isang status code na nagpapahiwatig na ang URL ay permanenteng inilipat.

Halimbawa-3: Pansamantala ang pag-redirect ng URL

Lumikha ng isang file na PHP gamit ang sumusunod na code na magre-redirect sa bagong lokasyon pagkatapos maghintay ng 2 segundo. Narito, ang ang () Ginagamit ang pagpapaandar upang wakasan ang script. Narito, ang header () ang pagpapaandar ay ginagamit sa tatlong mga argumento. Ang TOTOO ay ginagamit para sa ikalawang pagtatalo at 307 ay ginagamit para sa pangatlong pagtatalo. Ginamit ang 307 status code upang pansamantalang mag-redirect.



// Maghintay ng 2 segundo
matulog (2);
// Redirect sa partikular na lokasyon
header ('Lokasyon: http: //localhost/php/contactForm/index.html',TOTOO,307);
ang ();

?>

Output:
Matapos maipatupad ang code, ang URL ay nai-redirect sa lokasyon http: //localhost/php/contactForm/index.html pagkatapos ng 2 segundo. Kung siyasatin mo ang code at buksan ang Network tab, pagkatapos ay ipapakita ito 307 bilang isang code ng katayuan na nagpapahiwatig na ang URL ay pansamantalang nai-redirect.

Halimbawa-4: Pag-redirect ng URL batay sa kundisyon

Lumikha ng isang file na PHP gamit ang sumusunod na code na magre-redirect ng URL batay sa kondisyunal na pahayag. Ang isang form na HTML ay idinisenyo sa script upang mai-redirect ang URL batay sa napiling halaga ng drop-down list. Dito, naglalaman ang drop-down na listahan ng tatlong mga halaga. Kailan Google napili mula sa listahan ng drop-down pagkatapos ire-redirect ng script ng PHP ang URL sa lokasyon na https://google.com na may default na code ng katayuan, 302 . Kailan LinuxHint napili mula sa listahan ng drop-down pagkatapos ay ire-redirect ng script ng PHP ang URL sa lokasyon na https://linuxhint.com kasama ang code ng katayuan 301 . Kailan Fahmidasclassroom napili mula sa listahan ng drop-down, pagkatapos ay ire-redirect ng script ng PHP ang URL sa lokasyon, https://fahmidasclassroom.com kasama ang code ng katayuan, 302 .

<html>
<ulo>
<pamagat> Header Halimbawapamagat>
ulo>
<katawan>
<paraan ng form='post'aksyon=#>
<pumili ng pangalan='Web'>
<pagpipilian>Googlepagpipilian>
<pagpipilian>LinuxHintpagpipilian>
<pagpipilian>FahmidasClassroompagpipilian>
pumili ka>

<uri ng input='ipasa'pangalan='ipasa'halaga='Pumunta' />

html>



// Suriin ang pindutang isumite ay pinindot o hindi
kung( wala na ($ _POST['ipasa']))
{
kung($ _POST['Web'] == 'Google')
{
// Redirect sa partikular na lokasyon
header ('Lokasyon: https://google.com');
}
kung hindi man($ _POST['Web'] == 'LinuxHint')
{
// Redirect sa partikular na lokasyon
header ('Lokasyon: https://linuxhint.com',TOTOO,301);
}
iba pa
{
// Redirect sa partikular na lokasyon
header ('Lokasyon: https://fahmidasclassroom.com');
}
ang ();
}

?>

Output:
Matapos maipatupad ang code, lilitaw ang sumusunod na output sa browser na magpapakita ng isang drop-down na listahan na may tatlong mga halaga at a Punta ka na pindutan Ang status code ay 200 ngayon Pagkatapos ng pag-redirect, mababago ang status code.


Kung Google pipiliin mula sa drop-down, pagkatapos ay magre-redirect ito sa lokasyon na https://google.com pagkatapos ng pagpindot sa Punta ka na button, at lilitaw ang sumusunod na imahe. Ang default na code ng katayuan, 302 , ay nabuo dito.


Kung ang LinuxHint pipili mula sa drop-down, pagkatapos ay magre-redirect ito sa lokasyon na https://linuxhint.com pagkatapos ng pagpindot ang Pumunta button, at lilitaw ang sumusunod na imahe. Ang permanenteng status code, 301 , ay nabuo dito.

Konklusyon:

Ang magkakaibang paggamit ng PHP header () ang pagpapaandar ay ipinaliwanag sa tutorial na ito sa pamamagitan ng paggamit ng maraming mga halimbawa. Ang pag-redirect ay maaaring gawin pansamantala at permanenteng batay sa status code na ginamit sa header () pagpapaandar Tutulungan ng tutorial na ito ang mga mambabasa na malaman ang tungkol sa layunin ng pag-redirect at mailapat ito sa pamamagitan ng paggamit ng PHP script sa kanilang web application kapag kinakailangan.