Home | PHP

Contoh Redirect Melalui header dan htaccess di PHP

Published by Ade Kurniawan on

redirect php

Tujuan dibuat redirect yang paling utama adalah untuk mengalihkan akses di suatu halaman php ke halaman lain secara redirect atau langsung. Jadi dalam penerapannya halaman yang di redirect tidak akan bisa terlihat oleh user. Hal ini perlu dilakukan jika ingin merubah url.

Selain perubahan url tujuan lain penggunaan redirect adalah menghindari akses terhadap halaman yang tidak valid. Sebagai contoh https://webkamu.com/belajar.php. Jika page belajar.php tidak ada maka kita dapat mengalihkan user ke halaman not found dan menampilkan notifikasi “Maaf halaman yang anda cari tidak tersedia”.

2 hal di atas adalah contoh kasus yang memerlukan redirect dalam penanganannya. Untuk lebih jelas silahkan perhatikan contoh di bawah ini.

Contoh Redirect di PHP

1. Mengalihkan akses dari page 1 ke page 2 menggunakan header().

Contoh ini menggunakan page_1 dan page_2. Dengan menggunakan redirect() kita bisa mengalihkan user yang membuka page_1 ke page_2.

page_1.php

 <?php
    header('Location: page_2.php');
    ?>
 <!DOCTYPE html>
 <html lang="en">

 <head>
     <title>Page 1</title>
 </head>

 <body>
     <h1>Page 1</h1>
 </body>

 </html>

page_2.php

<!DOCTYPE html>
<html lang="en">
<head>  
    <title>Page 2 Redirect</title>
</head>
<body>
    <h1>Page 2</h1>
    <p>Halaman ini di redirect dari halaman 1</p>
</body>
</html>

hasil running akses page_1.php

redirect page 1 ke page 2 di php

Fungsi header('Location: page_2.php'); yang ditempatkan pada page 1 menjadikan page 1 tidak bisa diakses. saat user membuka page_1.php akan otomotatis di alihkan ke page_2.php.

Itulah contoh redirect pada php. Selanjutnya pada tutorial sebelumnya beberapa cara menggunakan redirect dalam proses insert,update dan delete juga sudah di bahas. Ada sedikit perbedaan dari masing-masing contoh penerapan redirect ini.

Redirect di php juga bisa menggunakan file .htacces. contoh 2 ini menjelaskan bagaiman membuat file akses untuk redirect di php.

2. Mengalihkan error 404 ke halaman not found dengan htaccess

Untuk contoh redirect ini difungsikan saat halaman yang diakses ternyata tidak ada di website dalam kata lain url tersebut tidak valid. Url yang tidak valid ini akan memunculkan error 404. sebagai contoh pada directory project di atas kita tidak memiliki file page_3.php. maka jika diakses url tersebut akan menampilkan error not found 404 seperti gambar di bawah ini:

redirect error 404 not found
error 404 (not found)

Status error dengan kode 404 bisa diambil menggunakan htaccess dan selajutnya setelah status tersebut diperoleh melalui instruksi yang dituliskan di htacess kita bisa mengarahkan setiap halaman not found ke halaman yang kita inginkan.

2.1. Mengarahkan halaman error 404 ke halaman home

Contoh Dalam hal ini halaman home adalah https://www.indonetsource.com/,

maka untuk membuat halaman yang not found error 404 di redirect ke halaman home bisa dilakukan dengan membuat file .htaccess seperti di bawah ini

ErrorDocument 404 https://www.indonetsource.com/     
RewriteEngine On   

file .htaccess diletakkan di folder project redirect. Untuk testing Silahkan akses kembali page_3.php maka error not found tidak akan ditemukan lagi dan yang akan tampil adalah halaman https://www.indonetsource.com/.

2.2. Mengarahkan halaman error 404 ke my404 page

Anda mungkin pernah menemukan notifkasi “upss the page can’t be found” atau notifikasi “Sorry… halaman tidak tersedia”. Salah satu metode yang digunakan untuk menampilkan pesan ini adalah dengan redirect melalui .htaccess.

Jadi semua url yang tidak tersedia di sebuah halaman web akan mengarah ke halaman custom 404 yang dapat dibuat sendiri. Artinya halaman ini adalah halaman yang berbeda dengan notifikasi apache server seperti gambar error 404(not found) di atas.

Untuk menerapkan metode ini diperlukan file my404.php dan .htacces:

Untuk contoh sederhana file my404 bisa dibuat seperti di bawah ini

my404.php

 <!DOCTYPE html>
 <html lang="en">

 <head>
     <title>Not Found - Halaman tidak ditemukan</title>
 </head>

 <body>
     <h1>Halaman yang Anda Cari Tidak Tersedia</h1>
 </body>

 </html>

Selanjutnya Agar redirect error 404 (not found ) ke mengarah my404.php. file .htaccess berisi script berikut:

ErrorDocument 404 http://localhost/indonetsource/php/redirect/my404.php       
RewriteEngine On    
RewriteBase /

Untuk uji coba silahkan akses sembarang file pada directory http://localhost/indonetsource/php/redirect/ maka akan dialihkan ke halaman my404.php

Tutorial lanjutan

Mengalihkan Page dengan redirect() di codeigniter


0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published.