Last Updated on August 11, 2021 by
Jika Anda melakukan browsing di browser kesayangan Anda, mungkin Anda pernah melihat link yang berisikan “php redirect” atau yang sejenisnya. Kali ini, Codekey akan membahas tentang Redirect PHP.
Redirection memungkinkan Anda untuk mengarahkan browser klien ke URL yang berbeda. Anda dapat menggunakannya saat berpindah domain, mengubah struktur situs, atau beralih ke HTTPS.
Secara spesifik, Codekey akan menunjukkan cara mengarahkan ulang ke halaman lain dengan PHP. Kami akan menjelaskan dengan tepat bagaimana redirect PHP bekerja dan menunjukkan kepada Anda apa yang terjadi di balik layar. Jika Anda tertarik dengan pembahasan kali ini, pastikan Anda menyimaknya sampai akhir.
Table of Contents
PHP Redirect : Penjelasan Singkat
Sebelum kita mengetahui secara spesifik redirect PHP, sebaiknya perlu dipahami dengan cepat bagaimana tepatnya redirect HTTP bekerja.
Cara Kerja Redirect Pada Umumnya
Mari kita pahami apa yang terjadi pada diagram yang ada di atas:
- Client browser meminta halaman tertentu dari server. Pada contoh di atas, client telah meminta isi dari file index.php.
- Server menerima permintaan file index.php dan ingin memberi tahu client bahwa itu tidak lagi tersedia atau dipindahkan ke tempat lain, dan seharusnya mencari file baru sebagai gantinya: new_index.php. Server mengirimkan tajuk Lokasi dengan URL baru bersama dengan kode HTTP 301 atau 302. Ini adalah kode HTTP untuk redirect.
- Ketika browser klien menemukan kode 301 atau 302, ia tahu bahwa ia harus memulai permintaan lain ke URL baru untuk mengambil konten. Ini memulai permintaan untuk mengambil file new_index.php dalam contoh di atas.
- Terakhir, server mengirimkan konten URL baru.
Jadi begitulah cara kerja redirect HTTP dasar. Di bagian selanjutnya, kita akan membahas cara kerja redirect PHP.
PHP Redirect dan Membuat Redirect PHP Script
Di PHP, ketika Anda ingin mengarahkan pengguna dari satu halaman ke halaman lain, Anda perlu menggunakan fungsi header(). Fungsi header memungkinkan Anda mengirim header lokasi HTTP mentah, yang melakukan redirect sebenarnya seperti yang telah kita bahas di bagian sebelumnya.
Redirection dalam PHP dapat dilakukan dengan menggunakan fungsi header(). Untuk setup, redirect sederhana cukup membuat file index.php di direktori yang ingin Anda redirect. Berikut ini cara menggunakan fungsi header:
Coba perhatikanlah sintaks dari fungsi header().
header( $header, $replace, $http_response_code )
- $header: Fungsi ini adalah string header HTTP yang ingin Anda gunakan. Dalam kasus kami, kami akan menggunakan tajuk Lokasi untuk redirect.
- $replace: Fungsi ini adalah parameter opsional yang menunjukkan apakah header harus menggantikan header serupa sebelumnya.
- $http_response_code: Fungsi ini memungkinkan Anda mengirim kode respons tertentu.
Sekarang, lihatlah contoh berikut untuk memahami bagaimana semuanya bekerja bersama.
<?php // index.php header("Location: https://www.situsanda.com/index.php"); exit(); ?>
Ketika redirect PHP script di atas dijalankan, ia akan mengarahkan browser klien ke http://www.situsanda.com/index.php. Di latar belakang, ia mengirimkan header Lokasi HTTP mentah bersama dengan kode status 302.
Kode status 302 digunakan untuk redirect sementara, tetapi jika Anda ingin redirect permanen, Anda dapat meneruskan kode 301 dalam argumen ketiga, seperti yang ditunjukkan dalam redirect PHP script berikut:
<?php // index.php header("Location: http://www.situsanda.com/index.php", TRUE, 301); exit(); ?>
Redirect permanen 301 memungkinkan Anda memberi tahu bot pencarian bahwa halaman tersebut tidak lagi tersedia, dan dapat diganti dengan halaman baru.
Mengapa Anda Harus Menggunakan Fungsi Die() atau Exit() Setelah Redirect Header?
Mungkin ada yang bertanya-tanya, mengapa menggunakan fungsi exit()? Kalau Anda jeli, Anda akan menemukan pada contoh-contoh di atas bahwa redirect PHP script di atas menggunakan fungsi exit().
Anda memang diwajibkan menggunakan fungsi exit() atau die() segera setelah redirect header untuk menghentikan eksekusi skrip dan menghindari hasil yang tidak diinginkan. Jadi, Anda selalu disarankan untuk menggunakan salah satu fungsi ini setelah redirect.
Kemudian kami akan membahas tentang kesalahan umum yang dilakukan yaitu headers yang sudah dikirim atau “Headers Are Already Sent”.
Jika Anda seorang programmer PHP yang berpengalaman, saya yakin Anda pernah menemukan kesalahan PHP yang terkenal ini di beberapa titik dalam pengembangan PHP Anda sehari-hari. Namun, untuk pemula, menemukan kesalahan ini sangat mengganggu, karena sangat sulit untuk di-debug dan diperbaiki. Dalam kebanyakan kasus, mereka bahkan tidak tahu bahwa itu disebabkan oleh redirect header.
Aturan praktis yang harus Anda terapkan ketika menggunakan fungsi header() dalam redirect PHP script Anda. Anda perlu memastikan bahwa Anda tidak mengirim output apa pun sebelumnya. Jika tidak, PHP akan mengeluh dengan kesalahan “Headers Are Already Sent”. Ini dapat terjadi bahkan jika Anda telah mengirim satu spasi sebelum menggunakan fungsi header.
Demikianlah penjelasan tentang redirect PHP. Pada seri tutorial ini, kami telah membahas salah satu fitur penting dari pemrograman PHP: redirection. Kami juga telah membahas dasar-dasar redirect HTTP, dan kemudian saya mendemonstrasikan cara kerjanya di PHP. Harapannya, Anda bisa lebih memahami tentang PHP dan bisa menjadi programmer PHP handal.
Jika Anda tertarik untuk belajar PHP lebih jauh, pastikan Anda mengecek semua seri Tutorial PHP yang ada di Codekey. Situs https://codekey.id/ merupakan media untuk Anda belajar berbagai bahasa pemrograman, tidak hanya PHP tetapi juga berbagai bahasa pemrograman lain.
Codekey memberikan berbagai pembahasan, materi, tutorial, tips, dan trik untuk Anda belajar bahasa pemrograman. Pastikan Anda mendapat update terbaru dari situs kami.
Jasa Pembuatan Aplikasi, Website dan Internet Marketing | PT APPKEY
PT APPKEY adalah perusahaan IT yang khusus membuat aplikasi Android, iOS dan mengembangkan sistem website. Kami juga memiliki pengetahuan dan wawasan dalam menjalankan pemasaran online sehingga diharapkan dapat membantu menyelesaikan permasalahan Anda.