بررسی کامل ریدایرکت 302 و نحوه اجرای کدهای آن

31 اردیبهشت 1398
ریدایرکت 302

اگر به یاد داشته باشید، در درس های قبل ریدایرکت را تعریف کردیم و دلایل انجام آنها در وب سایت ها را ذکر کردیم. همچنین یک مقاله کامل را به بررسی کامل و دقیق ریدایرکت دائم یا همان 301 و روش اجرای کدهای آن در زبان های مختلف اختصاص دادیم. حال در این مقاله ریدایرکت موقت یا همان ریدایرکت 302 را زیر ذره بین برده و از دلایل انجام آن تا نحوه اجرای کد های آنرا در هاست های مختلف با یکدیگر بررسی خواهیم کرد.

کجا باید از ریدایرکت 302 استفاده کنیم؟

موارد استفاده از ریدایرکت 302 بسیار کم است چرا که اکثر مواقع ریدایرکت 301 ارجحیت دارد. همانطور که به یاد دارید ریدایرکت 301 از آنجا که دائم محسوب می شود، قسمت بسیار زیادی از اعتبار آدرس قدیمی را به آدرس جدید منتقل می کند. اما ریدایرکت 302 اینچنین نیست، چرا که یک ریدایرکت موقتی محسوب شده و اعتبار صفحه را به آدرس جدید انتقال نمی دهد. از طرفی پس از غیرفعالسازی این ریدایرکت، صفحه مورد نظر شانس بیشتری برای به دست آوردن رتبه قبلی خود دارد. همچنین، در مواردی که طول مدت ریدایرکت کم باشد رتبه سایت به طور کامل در طی این مدت حفظ می شود.

حال، با توجه به توضیحات بالا می توان موارد استفاده از این نوع ریدایرکت را در دو مورد زیر خلاصه کرد:

  1. زمانی که می خواهید سایت و یا صفحه ای از سایتتان را تعمیر کنید و یا تغییراتی مانند تعویض قالب در آن اعمال کنید و در نظر دارید طی این مدت کاربران شاهد تغییرات شما نباشند و به جای مشاهده سایت به یک صفحه با عنوان «به زودی برمی گردیم!» هدایت شوند، بهترین راهکار استفاده از تغییر مسیر به سبک 302 است.
  2. در موارد بسیار نادری ممکن است بخواهید کاربر را از یک آدرس کوتاه به یک آدرس طولانی و یا بالعکس هدایت کنید و در عین حال اعتبار دامین در گوگل را حفظ کنید.

می دانیم که مورد دوم نیاز به بررسی دقیق تر دارد. این مورد زمانی استفاده می شود که برای مثال بخواهید کاربران را از yourdomain.com به subdomain.yordomain.com/home.php?pid=home منتقل کنید. اگر ریدایرکت 301 را به خوبی مطالعه کرده باشید خواهید گفت که چنین مواقعی استفاده از تغییر مسیر به سبک 301 منطقی تر است. کاملا درست است، چنین مواقعی تغییر مسیر دائم کاربردی تر است اما برخی به این دلیل از ریدایرکت 302 استفاده می کنند که اعتبار آدرس اول یا همان yourdomain.com را در گوگل حفظ کنند و در نتایج جستجوی گوگل این آدرس نمایان شود. این کار به نوعی گیج کردن گوگل محسوب می شود و از نظر متخصصان سئو، جز در مواقع ضروری پیشنهاد نمی شود.

چگونه باید از ریدایرکت 302 استفاده کنیم؟

نحوه استفاده از تغییر مسیر 302 یا موقت، در سرورهای مختلف متفاوت است. در سرورهای یونیکس و یا آپاچی باید از طریق فایل .htaccess این کار را انجام دهید. این فایل را می توانید در مسیر اصلی وب سایت یا به اصطلاح root folder سایت خود در فایل منیجر کنترل پنل هاست پیدا کنید.

توجه: در اکثر مواقع این فایل از قبل روی هاست موجود است و نیاز به ساخت آن نیست. تنها باید دقت کنید که از آنجا که فایل هایی که با دات (.) شروع می شوند معمولا در هاست به حالت پنهان (hidden) هستند، باید ابتدا از قسمت تنظیمات هاست تیک گزینه show hidden files را فعال کنید تا فایل نمایش داده شود و بتوانید آنرا ویرایش کنید. اگر این فایل از قبل موجود نباشد، می توانید یک فایل با همین نام ایجاد کنید.

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

خب! در ادامه برای انجام این کار، کد زیر را در داخل فایل .htaccess قرار دهید.

redirect 302 /OldPage.html http://target.com/NewPage.html

لطفا به فاصله های موجود در کد دقت کنید. بین واژه های redirect و 302 یک فاصله و بین 302 با آدرس فعلی نیز یک فاصله و در نهایت سومین فاصله بین آدرس فعلی و آدرس صفحه جدید وجود دارد. از آنجه که آدرس فعلی حتما یکی از صفحات سایت شما می باشد از نوشتن دامین سایت در آدرس فعلی خودداری می کنیم.

نحوه تغییر مسیر 302 در سرورهای ویندوزی

اما در سرورهای ویندوزی بحث ریدایرکت 302 متفاوت است. برای اینکار در قدم اول صفحه ای را که می خواهید ریدایرکت کنید، به حالت ادیت یا ویرایش درآورید.

حال اگر زبان برنامه نویسی سایت شما ASP است کد زیر را در قسمت مناسب (معمولا بالای تگ <html>) قرار دهید.

<%@ Language=VBScript %>
<%
Response.Status=”302 Found”
Response.AddHeader “Location”,”http://target.com/NewPage.asp”
%>

اما اگر زبان برنامه نویسی سایت شما ASP.NET می باشد، باید از کد زیر استفاده کنید.

<script runat=”server”>
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “302 Found”;
Response.AddHeader(“Location”,”http://target.com/NewPage.asp”);
}
</script>

توجه داشته باشید در تمامی کدها به جای آدرس http://target.com/NewPage.asp باید آدرس مورد نظر خود را به عنوان آدرس مقصد جایگذاری کنید.

استفاده از افزونه ها برای تغییر مسیر 302

اگر نمی‌خواهید برای انجام ریدایرکت ها خودتان را درگیر کدنویسی و دستکاری در فایل های مهم هاست کنید، می توانید با توجه به نوع سیستم مدیریت محتوای خود از افزونه های مرتبط با این کار استفاده کنید. توصیه می کنیم، برای سایت های وردپرس از افزونه yoast که جامع ترین و پرطرفدارترین افزونه وردپرسی در زمینه سئو می باشد، استفاده کنید. در این افزونه بخش مجزایی برای ریدایرکت ها در نظر گرفته شده است که می توانید انواع ریدایرکت را در آن اجرا کنید. فراموش نکنید که نسخه کامل و کرک شده را از روکسو دانلود و به صورت دستی روی وردپرس خود نصب کنید تا از امکانات کامل آن بهره مند شوید.

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

نویسنده شوید

دیدگاه‌های شما

در این قسمت، به پرسش‌های تخصصی شما درباره‌ی محتوای مقاله پاسخ داده نمی‌شود. سوالات خود را اینجا بپرسید.