redirect در php چطور با ریدایرکت کاربر را به آدرس جدید هدایت کنیم؟!

  • پیش گفتار این مقاله
  • ایمان کمالی در 1399/09/10

بسیاری از مواقع لازم است تا کاربر را به صورت خودکار به آدرس URL جدیدی هدایت کنیم. این کار در php به سادگی قبل انجام است!
در این مقاله به آموزش redirect در php می پردازیم.

در این مقاله می پردازم به redirect در PHP و حالت های مختلفی که می توانید برای دستور ریدایرکت ( Redirect ) تنظیم کنید.
با بررسی مثال و الگو گرفتن از آن می توانید در کد خود از دستور ریدایرکت استفاده کنید.

آموزش redirect در php با استفاده از متد ()header

در php به راحتی می توانید با استفاده از متد header کاربر را از صفحه ای که در آن قرار دارد به یک URL جدید هدایت کنید.

برای این کار مانند مثال زیر از متد header استفاده کرده و آدرس URL مقصد را همراه با Location قرار دهید.

<?php
   header("Location : URL");
   exit();
?>

در مثال بالا بجای URL آدرس خودتان را قرار دهید.

دستور آخر یعنی exit نیز برای خروج از برنامه است.

از این دستور پس از ریدایرکت ( Redirect ) استفاده کنید تا مطمئن شوید دستورات بعد از header به هیچ عنوان اجرا نشوند.

بنابراین در مثال بالا کاربر از صفحه فعلی ( هر آدرسی که در آن است ) به آدرس جدید یعنی ‘URL’ به صورت خودکار هدایت می شود.

دقت کنید که پارامتری که به متد header می دهید از نوع رشته یا همان string است و حتما باید بین کوتیشن ( ) یا دابل کوتیشن ( ) قرار بگیرد.

ریدایرکت دائمی از یک صفحه به آدرس جدید در php

Redirect در php
Redirect در php

اگر قصد دارید به صورت دائمی درخواست های ارسالی به یک صفحه را به URL جدید منتقل کنید می توانید به شکل زیر عمل کرده و از response code 301 استفاده کنید.

این کد به معنی انتقال دائمی این صفحه به یک آدرس جدید است.

<?php
   header("Location: http://www.example.com/another-page.php", true, 301);
   exit();
?>

برای استفاده از فانکشن header اگر status Code یا همان کد وضعیت مشخص نشده باشد به صورت پیش فرض بر روی 302 است.

این وضعیت یعنی کد 302 به این معنی است که محتویات این آدرس به صورت موقت در URL دیگری قرار دارد.

بنابراین برای ریدایرکت در php می توانید به راحتی از متد header همراه با پارامتر های مشخص شده درنمونه های بالا استفاده کنید.

امیدوارم از این آموزش استفاده لازم را برده باشید!

شاد و پیروز باشید.