Come configurare smartphone e PC. Portale informativo

Reindirizzamento php Wood Pigeon ucp. PHP reindirizza i collegamenti esterni

Supponiamo che tu voglia visualizzare la pagina https://example.com/final.php agli utenti che accedono alla pagina https://example.com/initial.php. Questo può essere fatto con pochi Metodi PHP, JavaScript e HTML. In questo articolo tratteremo ciascuno dei metodi che puoi utilizzare per reindirizzare PHP su un'altra pagina.

Ecco alcune variabili che utilizzeremo:

Utilizzando la funzione PHP header() per reindirizzare un URL

Se desideri aggiungere un reindirizzamento da partial.php a final.php , puoi inserire il seguente codice nella pagina web individual.php. Invia una nuova intestazione di posizione al browser:

Qui utilizziamo la funzione PHP header() per creare il reindirizzamento. È necessario inserire questo codice prima di qualsiasi codice HTML o testo. Altrimenti riceverai un errore che ti informa che l'intestazione è già stata inviata. È inoltre possibile utilizzare il buffering dell'output per evitare questo errore di invio delle intestazioni. IN seguente esempio questo metodo Reindirizzamenti PHP mostrati in azione:

Per eseguire un reindirizzamento utilizzando la funzione header(), la funzione ob_start() deve essere la prima funzione nello script PHP. Ciò impedirà il verificarsi di errori di intestazione.

COME misura aggiuntiva puoi aggiungere die() o exit() immediatamente dopo il reindirizzamento dell'intestazione in modo che il resto del codice della pagina web non venga eseguito. In alcuni casi robot di ricerca oppure i browser potrebbero non prestare attenzione all'intestazione Posizione. Quali sono le potenziali minacce alla sicurezza del sito:

Per essere chiari: die() o exit() non hanno nulla a che fare con i reindirizzamenti. Vengono utilizzati per impedire l'esecuzione del resto del codice sulla pagina Web.

Quando si reindirizza a una pagina in PHP, si consiglia di utilizzare URL assoluti quando si specifica il valore dell'intestazione Posizione. Ma funzioneranno anche gli URL relativi. Puoi anche utilizzare questa funzione per reindirizzare gli utenti a siti o pagine web esterni.

Conclusione Codice JavaScript-reindirizzare utilizzando la funzione PHP echo()

Questa non è una soluzione PHP pura. Tuttavia, è anche efficace. Puoi usare funzione PHP echo() per generare il codice JavaScript che gestirà il reindirizzamento.

Se utilizzi questa soluzione, non dovrai utilizzare il buffering di output. Ciò impedisce inoltre che si verifichino errori relativi all'invio di intestazioni.

Di seguito sono riportati alcuni esempi che utilizzano diversi Metodi JavaScript da cui reindirizzare pagina corrente ad un altro:

L'unico svantaggio di questo metodo di reindirizzamento a un altro sito PHP è che JavaScript viene eseguito sul lato client. E i tuoi visitatori potrebbero avere JavaScript disabilitato.

Utilizzo dei meta tag HTML per il reindirizzamento

Puoi anche usare HTML di base per eseguire un reindirizzamento. Può sembrare poco professionale, ma funziona. E non devi preoccuparti che JavaScript sia disabilitato nel tuo browser o che abbia precedentemente inviato un errore di intestazione:

Puoi anche utilizzare l'ultima riga dell'esempio precedente per aggiornare automaticamente la pagina ogni "n" secondi. Ad esempio, il seguente codice aggiornerà automaticamente la pagina ogni 8 secondi:

Conclusione

In questo articolo ne ho trattati tre vari metodi reindirizza da indice php, così come i loro vantaggi e svantaggi. Il metodo specifico da utilizzare dipende dagli obiettivi del progetto.

Traduzione dell'articolo "Come posso eseguire un reindirizzamento a un URL diverso prima del caricamento della pagina in PHP" da parte del simpatico team di progetto.

Buono cattivo

Ultima modifica il 25 febbraio 2017 da Vincy.

Il meccanismo di reindirizzamento PHP viene utilizzato per navigare l'utente da una pagina all'altra senza fare clic su alcun collegamento ipertestuale. Ciò sarà utile in circostanze in cui il reindirizzamento dovrebbe essere eseguito in background. Ad esempio, quando l'utente accede al gateway di pagamento, il reindirizzamento dovrebbe avvenire automaticamente per notificare l'URL utilizzando lo script PHP.

PHP fornisce una funzione predefinita, denominata header(), per il reindirizzamento dell'URL. Utilizzando questa funzione header(), dobbiamo inviare l'intestazione della posizione specificando l'URL a cui la pagina dovrebbe essere reindirizzato.

A differenza di dove esistono diversi modi per gestire il reindirizzamento degli URL in base al browser, PHP evita tale confusione e fa in modo che la funzione header() crei lo stesso effetto in tutti i browser. Solo per questo, abbiamo concluso con l'articolo sul reindirizzamento JavaScript che è preferibile il reindirizzamento lato server.

Intestazione della sintassi del reindirizzamento PHP ("Posizione: URL di destinazione");

Nella sintassi sopra del reindirizzamento PHP, dobbiamo sostituire con un URL valido a cui vogliamo spostarci. Possiamo specificare l'URL assoluto o l'URL relativo per questa intestazione di posizione. Se specifichiamo l'URL relativo, lo farà Cercare la pagina nel nostro dominio in cui esistiamo.

Nota: prima di specificare URL della pagina per l'intestazione della posizione, dovremmo assicurarci che la pagina esista.

Attenzione prima del reindirizzamento

Prima di eseguire il reindirizzamento PHP, dovremmo assicurarci che nessun output venga inviato al browser prima della riga in cui chiamiamo la funzione header(). Per esempio,

Echo "Reindirizzamento PHP"; header("Posizione: sito");

Questo script visualizzerà il seguente avviso di avviso al browser.

Avviso: impossibile modificare le informazioni dell'intestazione - già le intestazioni inviato da (...

Non è applicabile solo alla funzione header, ma a tutte le funzioni PHP come set_cookie(), session_start() e così via, qualunque cosa possa modificare l'intestazione. Per questo, noi dovrebbe rimuovere tutto il contenuto che interromperà l'invio dell'intestazione della posizione al browser.

Possibili modalità di invio dell'output
  • Contenuti HTML come testo o tag.
  • Spazi bianchi non necessari prima dei delimitatori PHP.
  • Errori PHP o avvisi che si verificano prima della chiamata al reindirizzamento.
  • PHP, ad esempio, echo(), print().
Misure di sicurezza dall'output inviato prima del reindirizzamento PHP
  • Poiché il contenuto HTML deve essere inviato prima del reindirizzamento, possiamo separare la logica PHP dal contenuto HTML.
  • Per essere dalla parte della sicurezza possiamo mettere Uscita comando dopo l'istruzione di reindirizzamento del file PHP. Ad esempio, header("Posizione: sito"); Uscita;
  • Possiamo abilitare il buffering dell'output PHP per interrompere l'invio dell'output al browser e memorizzarlo invece in un buffer.

Navigazione veloce in questa pagina:

Se decidi di scrivere una sceneggiatura e falla Reindirizzamento PHP, i vantaggi di questo passaggio sono evidenti: PHP - lato server orientato al linguaggio script; il reindirizzamento verrà eseguito tramite uno script sul server e non nel browser dei visitatori. Alcuni reindirizzamenti possono essere eseguiti lato client, tramite un reindirizzamento js (ovvero tramite un reindirizzamento JavaScript).

Questo è un approccio più flessibile e versatile e puoi eseguire più tipi di reindirizzamenti in PHP, a differenza di altri metodi. Ecco i tipi più comuni di reindirizzamento che possono essere eseguiti in PHP: a) Reindirizzamento PHP 301 (stato di reindirizzamento permanente), b) Reindirizzamento PHP 302 (stato di reindirizzamento temporaneo), c) Aggiornamento.

Questo articolo sarà utile principalmente per i webmaster alle prime armi che cercano modi per implementare il reindirizzamento degli URL se non è possibile utilizzare altre soluzioni comuni come Htaccess.

Intestazione Linguaggio PHP funzioni

Ad esempio, supponiamo che tu voglia reindirizzare a questo URL http://www.somewebsite.com/target.php. Nell'originale Pagine PHP Dovresti semplicemente chiamare questo script di reindirizzamento:

Prova anche questo semplice esperimento sul tuo hosting locale:

1) Aperto editor di testo e inserisci questo codice:

Salvalo come targetpage.php.

2) Aprine un altro vuoto file di testo e inserisci questo codice:

Salvalo come originatingpage.php.

3) Ora avvia il tuo browser web. IN barra degli indirizzi browser inserire: http://localhost/originatingpage.php

4) Noterai che dopo aver premuto il pulsante Invio, questo URL: http://localhost/originatingpage.php reindirizza a http://localhost/targetpage.php e a targetpage.php e vedi le parole “Ciao, questo è codice" -x".

Uno degli errori più comuni potrebbe risiedere nella progettazione codice html reindirizzare:

Prova questo esperimento:

Vai allo script originatingpage.php e aggiungi qualsiasi tag HTML:

header('Posizione: http://localhost/targetpage.php');

Diciamo che hai un codice come questo:

Questo è un errore di reindirizzamento

I migliori articoli sull'argomento