PHP: Mengalihkan (Redirect) ke Halaman Lain

Sebagai seorang webmaster, Anda mungkin berhadapan dengan situasi di mana file-file Anda memiliki nama yang kurang tepat, atau Anda ingin mengubah nama direktori file. Jika demikian, cukup mengubah link dalam situs web Anda.

Saat mengubah lokasi halaman, mesin pencarian mungkin akan mengirim pengguna ke alamat halaman yang salah. Bahkan akibat yang lebih buruk, sistem SEO halaman juga mungkin akan berubah. Untungnya, ada solusi mudah menggunakan redirection atau pengalihan halaman, yang tidak akan mengubah konsistensi navigasi halaman dan SEO situs web Anda—bahkan jika semua file situs telah dipindah.

Mengalihkan Headers

Pengalihan Sederhana

Untuk mengalihkan pengunjung ke halaman lain (berguna dalam penggunaan loop), cukup gunakan kode berikut:

<?php    
header('Location: mypage.php');
?>

Pada kasus ini, mypage.php adalah alamat situs web yang ingin Anda tujukan pada pengguna. Alamat ini dapat bersifat absolut dan mungkin juga dilengkapi dengan parameter dalam format berikut: mypage.php?param1=val1¶m2=val2)

Alamat Halaman Relatif/Absolut

Saat menggunakan alamat halaman relatif atau absolut, Anda disarankan memilih alamat halaman absolut dari direktori root server (DOCUMENT_ROOT). Gunakan format berikut ini:

<?php    
header('Location: /directory/mypage.php');
?>

Jika halaman yang akan menjadi target pengalihan berada di server lain, Anda mungkin perlu memasukkan URL lengkapnya:

<?php    
header('Location: http://www.ccm.net/forum/');
?>

HTTP Header

Menurut protokol HTTP, Header HTTP harus diletakkan sebelum jenis konten yang berada dalam halaman situs web. Artinya, seharusnya tidak ada karakter apa pun yang diletakkan sebelum header, termasuk spasi.

Untuk informasi selengkapnya, silakan baca artikel kami mengenai bagaimana cara mengatur Header (dalam bahasa Inggris).

Pengalihan Sementara/Permanen

Pada jenis pengalihan sementara, mesin pencari seperti Google, tidak akan mengindeks halaman pengalihan.

Jika Anda ingin memberi tahu mesin pencari bahwa situs web Anda telah dipindah secara permanen ke lokasi lain, silakan pakai kode berikut:

<?    
header('Status: 301 Moved Permanently', false, 301);
header('Location: new_address');
?>

Sebagai contoh, halaman ini menggunakan kode berikut:

<?      
header('Status: 301 Moved Permanently', false, 301);
header('Location: /pc/imprimante.php3');
exit();
?>

Jika Anda klik pada tautan di atas, Anda akan dialihkan ke halaman ini secara otomatis, karena telah menggunakan pengalihan secara permanen (Status: 301 Moved Permanently). Sehingga, jika Anda mengetik alamat URL pertama di Google, Anda akan dialihkan secara otomatis ke alamat URL kedua.

Intepretasi dari Kode PHP

Kode PHP yang terletak setelah header() akan diintepretasikan oleh server, bahkan jika pengunjung pindah ke alamat spesifik. Pada kebanyakan kasus, ini artinya Anda perlu menggunakan metode untuk mengikuti fungsi header() dan exit() untuk mengurangi beban loading server:

<?    
header('Status: 301 Moved Permanently', false, 301);
header('Location: address');
exit();
?>

Image: © PHP.

Lihat Jug
Dokumen ini berjudul « PHP: Mengalihkan (Redirect) ke Halaman Lain », dipublikasikan oleh pihak CCM di bawah lisensi Creative Commons. Anda dapat menyalin, menggunakan, dan memodifikasi konten halaman ini berdasarkan syarat dan ketentuan yang telah ditetapkan oleh lisensi ini. Mohon tetap mencantumkan nama CCM (id.ccm.net) pada publikasi Anda.