Ako presmerovať v PHP

How Redirect Php



Adresu URL prehliadača používateľa je možné zmeniť z jedného miesta na druhé pomocou presmerovania. Presmerovanie je potrebné na mnohé účely, napríklad na prechod z HTTP na HTTPS, zmenu domény atď. Keď používateľ odošle požiadavku na stránku, ktorá neexistuje, alebo na zmenené umiestnenie stránky, server odošlite informácie o novej adrese URL pomocou kódu HTTP 301 alebo 302. Pomôže to používateľovi vedieť o novej adrese URL presmerovaním a používateľ pošle žiadosť na nové miesto, aby získal požadovaný obsah. Adresa URL presmeruje v PHP pomocou hlavička () funkciu. Ako hlavička () Túto funkciu je možné použiť v PHP na presmerovanie URL z jednej stránky na inú.

funkcia header ()

Je to vstavaná funkcia PHP na odosielanie surovej hlavičky HTTP klientovi. Syntax tejto funkcie je uvedená nižšie.







Syntax:
hlavička ($ header, [$ replace, [$ http_response_code]])



Táto funkcia môže obsahovať tri argumenty. Prvý argument je povinný a posledné dva argumenty sú voliteľné. The $ hlavička slúži na uloženie reťazca hlavičky, ktorý obsahuje umiestnenie presmerovania. The $ nahradiť definuje, či sa má nahradiť predchádzajúca podobná hlavička, a hodnota tohto argumentu je booleovská. The $ http_response_code slúži na uloženie konkrétneho kódu odpovede, ktorý sa odošle používateľovi.



Príklad 1: Adresa URL presmerovania s predvoleným stavovým kódom

Vytvorte súbor PHP s nasledujúcim kódom, ktorý vás po 2 sekundách presmeruje na nové miesto. Tu, () funkcia sa používa na ukončenie skriptu. Keď hlavička () funkcia sa potom používa s jedným argumentom 302 sa používa ako predvolený kód HTTP.







// Počkajte 2 sekundy
spať (2);
// Presmerovanie na konkrétne miesto
hlavička ('Poloha: http: //localhost/php/contactForm/index.html');
the ();

?>

Výkon:
Po spustení kódu bude adresa URL po 2 sekundách presmerovaná na miesto http: //localhost/php/contactForm/index.html. Ak kód skontrolujete a otvoríte Sieť karta, potom sa zobrazí 302 ako predvolený stavový kód.



Príklad 2: Trvalo presmerovať adresu URL

Vytvorte súbor PHP s nasledujúcim kódom, ktorý vás po 2 sekundách presmeruje na nové miesto. Tu, () funkcia sa používa na ukončenie skriptu. Tu, hlavička () funkcia sa používa s tromi argumentmi. The PRAVDA sa používa pre druhý argument a 301 sa používa pre tretí argument. The 301 stavový kód sa používa na trvalé presmerovanie.



// Počkajte 2 sekundy
spať (2);
// Presmerovanie na konkrétne miesto
hlavička ('Poloha: http: //localhost/php/contactForm/index.html',PRAVDA,301);
the ();

?>

Výkon:
Po spustení kódu bude adresa URL po 2 sekundách presmerovaná na miesto http: //localhost/php/contactForm/index.html. Ak kód skontrolujete a otvoríte Sieť karta, potom sa zobrazí 301 ako stavový kód, ktorý naznačuje, že adresa URL je natrvalo presunutá.

Príklad 3: Adresa URL presmerovania je dočasná

Vytvorte súbor PHP s nasledujúcim kódom, ktorý vás po 2 sekundách presmeruje na nové miesto. Tu, () funkcia sa používa na ukončenie skriptu. Tu, hlavička () funkcia sa používa s tromi argumentmi. The PRAVDA sa používa pre druhý argument a 307 sa používa pre tretí argument. Stavový kód 307 sa používa na dočasné presmerovanie.



// Počkajte 2 sekundy
spať (2);
// Presmerovanie na konkrétne miesto
hlavička ('Poloha: http: //localhost/php/contactForm/index.html',PRAVDA,307);
the ();

?>

Výkon:
Po spustení kódu bude adresa URL po 2 sekundách presmerovaná na miesto http: //localhost/php/contactForm/index.html. Ak kód skontrolujete a otvoríte Sieť karta, potom sa zobrazí 307 ako stavový kód, ktorý naznačuje, že adresa URL je dočasne presmerovaná.

Príklad 4: Adresa URL presmerovania na základe podmienky

Vytvorte súbor PHP s nasledujúcim kódom, ktorý presmeruje adresu URL na základe podmieneného príkazu. V skripte je navrhnutý formulár HTML na presmerovanie adresy URL na základe vybratej hodnoty v rozbaľovacom zozname. Tu rozbaľovací zoznam obsahuje tri hodnoty. Kedy Google je vybratý z rozbaľovacieho zoznamu, potom skript PHP presmeruje adresu URL na miesto https://google.com s predvoleným stavovým kódom, 302 . Kedy Linuxová rada je vybratý z rozbaľovacieho zoznamu, potom skript PHP presmeruje adresu URL na miesto https://linuxhint.com so stavovým kódom 301 . Kedy Učebňa Fahmidas je vybratý z rozbaľovacieho zoznamu, potom skript PHP presmeruje adresu URL na miesto, https://fahmidasclassroom.com so stavovým kódom, 302 .

<html>
<hlava>
<titul> Hlavička Príkladtitul>
hlava>
<telo>
<metóda formy='príspevok'akcie=#>
<vyberte meno='Web'>
<možnosť>Googlemožnosť>
<možnosť>Linuxová radamožnosť>
<možnosť>Učebňa Fahmidasmožnosť>
vyberte>

<typ vstupu='Predložiť'názov='Predložiť'hodnotu='Choď' />

html>



// Skontrolujte, či je tlačidlo odoslania stlačené alebo nie
keby( preč ($ _POST['Predložiť']))
{
keby($ _POST['Web'] == „Google“)
{
// Presmerovanie na konkrétne miesto
hlavička ('Poloha: https://google.com');
}
ináč Ak($ _POST['Web'] == 'LinuxHint')
{
// Presmerovanie na konkrétne miesto
hlavička ('Poloha: https://linuxhint.com',PRAVDA,301);
}
inak
{
// Presmerovanie na konkrétne miesto
hlavička ('Poloha: https://fahmidasclassroom.com');
}
the ();
}

?>

Výkon:
Po spustení kódu sa v prehliadači zobrazí nasledujúci výstup, ktorý zobrazí rozbaľovací zoznam s tromi hodnotami a Choď tlačidlo. Stavový kód je 200 teraz. Po presmerovaní sa stavový kód zmení.


Ak Google vyberie z rozbaľovacej ponuky, potom sa po stlačení tlačidla presmeruje na miesto https://google.com Choď tlačidlo a zobrazí sa nasledujúci obrázok. Predvolený stavový kód, 302 , sa generuje tu.


Ak Linuxová rada vyberie z rozbaľovacej ponuky, potom sa po stlačení presmeruje na umiestnenie https://linuxhint.com choď tlačidlo a zobrazí sa nasledujúci obrázok. Trvalý stavový kód, 301 , sa generuje tu.

Záver:

Rôzne použitia PHP hlavička () funkcie sú v tomto návode vysvetlené pomocou viacerých príkladov. Presmerovanie je možné vykonať dočasne a natrvalo na základe stavového kódu použitého v hlavička () funkciu. Tento tutoriál pomôže čitateľom dozvedieť sa viac o účele presmerovania a v prípade potreby ho použiť pomocou skriptu PHP vo svojej webovej aplikácii.