بخش Vip سئو نود

بهترین فرصت برای یادگیری در قسمت Vip سئو نود هم اکنون برای دانشجوبان عزیز فراهم شده است

جزئیات بیشتر
آموزش یکبار برای همیشه
%20 تخفیف روز برنامه نویس برای تمام دوره ها با کد : mrprogrammer

ساخت ریدایرکت 301 با PHP

مقالات برنامه نویسی

چگونه به ساده‌ترین شکل ممکن یک تغییر مسیر با کد پاسخ دلخواه را توسط زبان PHP ایجاد کنیم ؟

0 20
ساخت ریدایرکت 301 با PHP

اگر با ریدایرکت‌ها مثل ریدایرکت 301 و … آشنایی دارید در این مقاله مشکلی نخواهیم داشت اما اگر در مورد ریدایرکت‌ها و روش کار آنها اطلاعی ندارید بهتر است در حدود چند خط درباره Redirection توضیح دهیم . ریدایرکت درکل به معنی تغییر مسیر است . زمانی که کاربر وارد آدرس خاصی از سایت شما می‌شود ، بدون اینکه محتوای موجود در آدرس مدنظر خود را مشاهده کند ، به آدرس دیگری منتقل می‌شود . این عمل را ریدایرکت یا همان تغییر مسیر می‌نامند . برای مثال شما به دنبال آدرس زیر هستید :

https://test.com/google-search-console

اما در عرض چند ثانیه متوجه می‌شوید که آدرس سایت در مروگر به شکل زیر تغییر کرده است :

https://test.com/gsc

این یعنی شما به یک آدرس جدید ریدایرکت شدید . اما این سیستم چگونه کار می‌کند؟ اکر قصد داشتید تا در صفحه‌ای از سایت خودتان ، بدون استفاده از مواردی همچون htaccess و … عمل ریدایرکت را انجام دهید ، می‌توانید توسط زبان برنامه نویسی PHP این کار را بسادگی اجرا کنید .

تابع header در PHP

در زبان برنامه نویسی PHP توابع کاربردی بسیار فراوان هستند و برخی از آنها در اکثریت پروژه‌های برنامه نویسی بخوبی جایگاه خود را نشان می‌دهند . تابع header در زبان PHP نیز یکی از این توابع است . نحوه استفاده از تابع header بصورت زیر است :

header( $header, $replace, $http_response_code )

در این تابع چندین پارامتر ورودی داریم . اما شاید درک این تابع اکنون برای شما دشوار باشد پس بگذارید آن را کمی ساده‌تر کنیم . در این تابع پارامتر header$ برای ما بسیار مهم است چراکه توسط همین پارامتر تعیین خواهیم کرد که از این صفحه به کدام صفحه یا آدرس منتقل شویم . پس می‌توان گفت اصلی‌ترین پارامتر در این تابع همین header$ است .

قسمت replace$ یک پارامتر اختیاری در این تابع است و وجود آن الزامی نیست . این پارامتر نشان می‌دهد که آیا هدر باید یک هدر مشابه قبلی را جایگزین کند یا نه ! ( شاید درک این پارامتر برای شما دشوار باشد اما نگران نباشید ) .

در نهایت پارامتر سوم یعنی http_response_code$ ، همانطورکه از اسم آن مشخص است یک کد پاسخ است و می‌توانیم توسط این پارامتر کد پاسخ خاصی مثل 301 را ارسال کنیم .

پیشنهادی : انواع ریدایرکت در وب را بشناسید 

اگر با انواع تغییر مسیرها آشنایی ندارید توصیه می‌کنیم حتما مقاله بالا را مطالعه کنید .

چگونه Redirect ایجاد کنیم ؟

اکنون قصد داریم تا از این تابع بصورت عملی استفاده کنیم . تصور کنید که اکنون در داخل آدرس اول هستیم یعی همان صفحه که قصد داریم کاربر دیگر آن را مشاهده نکند و بمحض ورود به این صفحه به آدرس دیگری ریدایرکت شود . پس داخل همین صفحه باید در همان ابتدای کدها ( حتی بالاتر از html و … ) همانند مثال زیر عمل کنید :

header("Location: https://www.test.com/gsc");
exit();

البته که تگ‌های باز و بسته PHP را فراموش نکنید . در این دستور همانطور که مشاهده می‌کنید داخل تابع header و بعنوان پارامتر اول از یک آدرس مقصد استفاده شده است و البته که قبل از این آدرس یک عبارت کلیدی بنام Location قرار گرفته است . به همین سادگی شما می‌توانید یک تغییر مسیر ایجاد کنید .

پیشنهادی : دوره آموزش php – نابغه php باش – با قسمت های رایگان 

دقت داشته باشید که این دستور بصورت پیشفرض کد پاسخ 302 را ارسال می‌کند و کد پاسخ 302 به این معنی است که تغییر مسیر موقت است . اگر قصد دارید تا تغییر مسیر برای همیشه انجام شود یعنی حالت 301 داشته باشد ، باید دستور خود را بصورت زیر اصلاح کنید :

header("Location: http://www.test.com/gsc", TRUE, 301);
exit();

بدینصورت شما یک تغییر مسیر 301 خواهید داشت . البته که در ادامه‌ی کدها به تابع exit نیز توجه کنید .

استفاده از تابع exit و یا تابع die سبب خواهد شد تا اجرای اسکریپت شما دقیقا پس از دستور header متوقف شده و از اجرای ادامه کدها خودداری شود و به این ترتیب مطمئن خواهیم شد که مشکلی در این صفحه بوجود نخواهد آمد .

خطای هدرها قبلا ارسال شده‌اند

یک خطای برنامه نویسی معروف در زبان برنامه نویسی PHP  تحت عنوان ” هدرها قبلا ارسال شده‌اند ” وجود دارد که بعنوان یک برنامه نویس باید درمورد آن اطلاع داشته باشید .

برای اینکه این خطا رخ ندهد باید مطمئن باشید که قبل از هدر ، خروجی را ارسال کنید ( این خروجی حتی احتمال دارد یک صفحه سفید باشد ) . لذا اطمینان داشته باشید که قبل از دستور header ، خروجی ارسال نکنید تا با خطای ” هدرها قبلا ارسال شده‌اند ” مواجه نشوید . امیدواریم این مقاله برای شما دوستان عزیز مفید بوده باشد . پاینده باشید .

امید قدیمی

امید قدیمی هستم ، 8 سال است که در زمینه طراحی و برنامه نویسی وب سایت فعالیت می کنم . توسعه دهنده فرانت اند ، طراح و برنامه نویس انواع وب سایت های وردپرسی ، فعال در زمینه تولید محتوا و سئو وب سایت

نقشه راه فرانت

اگر قصد دارید تا یک طراح ماهر باشید ، ما درست ترین مسیر را برای شما فراهم کردیم و فقط کافیست همراه ما باشید

شاید این مطالب نیز برای شما جالب باشد

برای یادگیری سریع گیت ، کافیست تا اصلی ترین و عمومی ترین دستورات گیت را یاد گرفته و شروع کار با آن را آغاز کنید . در این مقاله بیش از 40 دستور را خدمتتان ارائه کردیم .

2 321

زبان برنامه نویسی دارت چیست ؟ چه برنامه هایی را میتوان با زبان دارت نوشت ؟ فلاتر دقیقا به کدام قسمت زبان دارت مربوط است ؟ در این مقاله به شکل دقیق به تمام این سئوالات پاسخ خواهیم داد .

0 391
دیدگاه ها و نظرات
توجه کامنت های انگلیسی تایید نخواهند شد در صورت داشتن مشکل ، قبل از ارسال دیدگاه نظرات سایر دوستان را نیز مطالعه فرمائید برای مشاهده پاسخ دیدگاه ها بر روی علامت " " کلیک کنید
اشتراک دیدگاه
captcha
تکمیل تمامی فیلد ها الزامی است

آموزش های رایگان بیشتر در آپارات و یوتیوب سئو نود
کانال آپارات سئو نود چنل یوتیوب سئو نود