ریدایرکت چیست؟ پرینت

  • 1

ریدایرکت چیست؟

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

موارد کاربرد ریدایرکت:

یکی از موارد رایج زمانیست که آدرس تمام یا برخی صفحات سایت تغییر یافته، موتورهای جستجوگر و کاربران به آدرس های قدیمی وارد می شوند و ما می خواهیم آن ها را به آدرس های جدید هدایت کنیم. یکی دیگر از موارد رایج ریدایرکت زمانیست که برای یک صفحه از سایت چندین آدرس متفاوت وجود داشته باشد و به دلیل مشکل محتوای چندگانه یا Duplicate Content در سئو ، مجبوریم آدرس های اضافه را بر روی آدرس اصلی ریدایرکت کنیم.

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

ریدایرکت ۳۰۱

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

ریدایرکت ۳۰۲

حالتی را در نظر بگیرید که ناچار هستید یکی از صفحات ارزشمند خود را برای مدتی کوتاه و موقت از دسترس خارج یا به آدرس دیگری منتقل کنید. در حالت نخست کاربران پس از ورود به این صفحات با ارور ۴۰۴ (به معنای حذف صفحه) مواجه می شوند. مشکل زمانی آغاز می‌شود که این آدرس ها پس از مدت کوتاهی از دیتابیس موتورهای جستجو حذف و تمام ارزش و ورودی های آن صفحه نیز از بین می رود. همچنین، استفاده از ریدایرکت ۳۰۱ موجب انتقال دائمی این اعتبار، به آدرس جدید می‌شود. پس باید به دنبال راهکار دیگری باشیم.
در چنین مواردی، می‌توانید با استفاده از ریدایرکت ۳۰۲ صفحه مورد نظر خود را به آدرس جدید منتقل کنید. با استفاده از این روش، نه تنها از به وجود آمدن ارور ۴۰۴ جلوگیری کرده اید، بلکه به موتورهای جستجو می‌فهمانید که این صفحه به طور موقت منتقل شده است و ممکن است دوباره به حال عادی بازگردد یا به طور دائم به آدرسی دیگر منتقل شود. به این طریق، ارزش و ورودی‌های صفحه همچنان در جای خود باقی خواهند ماند و آدرس موقت در موتورهای جستجو ایندکس نمی‌شود.


ریدایرکت ۳۰۷ (HTTP 1.1 Only)

علاوه بر ریدایرکت ۳۰۲ برای انتقال موقت آدرس‌ها، از ریدایرکت ۳۰۷ نیز می‌توان استفاده کرد. ریدایرکت ۳۰۷ رفتاری مشابه با ۳۰۲ دارد، اما با یک تفاوت جزئی
اینترنت بر پایه پروتکل HTTP سر واژه عبارت HyperText Transfer Protocol بنا نهاده شده است که نحوه عملکرد لینک ها در فضای مجازی را دیکته می کند. این پروتکل دارای دو ورژن ۱.۰ و ۱.۱ است. ریدایرکت ۳۰۲ در دو ورژن عمل می کند. در ورژن ۱.۰ به صورت کد وضعیت “Moved Temporarily” به معنی انتقال موقت و در ورژن ۱.۱ به صورت کد وضعیت “Found” به معنای یافت شده در مکان دیگر به صورت موقت، به درخواست ارسالی توسط مرورگر پاسخ می دهد. اما ریدایرکت ۳۰۷ فقط در ورژن ۱.۰ عمل کرده و به صورت کد وضعیت “Moved Temporarily” به درخواست ارسالی پاسخ می دهد. اما بهتر است همیشه از ریدایرکت ۳۰۲ استفاده کنید.

رایج ترین دستورات ریدایرکت:

لازم است تا در تمامی دستورات زیر دامنه خود را جایگزین دامنه yourdomain.com نمایید.

حذف www از ابتدای دامنه:

 برای حذف www از ابتدای آدرس دامنه، باید آدرس با www را بر روی آدرس بدون www ریدایرکت کنید. برای انجام این کار کافیست قطعه کد زیر را در فایل .htaccess موجود در ریشه سایتتان کپی کنید.

RewriteEngineOn
RewriteBase/
RewriteCond%{HTTP_HOST}^www\.(.*)$[NC]
RewriteRule^(.*)$http://%۱/$۱[R=۳۰۱,L]

اگر در وب سایت خود از پروتکل امنیتی ssl یا همان https استفاده می کنید بجای کد فوق از کد زیر استفاده کنید.

RewriteCond%{HTTPS}off
RewriteCond%{HTTP_HOST}^www\.(.*)$[NC]
RewriteRule^(.*)$http://%۱/$۱[R=۳۰۱,L]
RewriteCond%{HTTPS}on
RewriteCond%{HTTP_HOST}^www\.(.*)$[NC]
RewriteRule^(.*)$https://%۱/$۱[R=۳۰۱,L]

و یا:

RewriteEngineOn
RewriteCond%{HTTPS}off
RewriteRule^(.*)$https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

کد htaccess ریدایرکت ساب دامنه بر روی دامنه اصلی:

اگر می خواهید یکی از ساب دامنه های سایتتان را بر روی دامنه اصلی ریدایرکت کنید، کد دستوری زیر را پس از ویرایش های لازم در آدرس دامنه، در فایل .htaccess موجود در ریشه سایتتان کپی کنید.

#Options+FollowSymlinks
RewriteEngineOn
RewriteCond%{HTTP_HOST}^sub.yourdomain.com$[OR]
RewriteCond%{HTTP_HOST}^www.sub.yourdomain.com$
RewriteRule(.*)$http://yourdomain.com/$۱[R=۳۰۱,L]]

کد htaccess ریدایرکت دامنه اصلی بر روی ساب دامنه:

Options+SymLinksIfOwnerMatch
RewriteEngineon
RewriteCond%{HTTP_HOST}^(www\.)?yourdomain\.com$[NC]
RewriteRule^http://sub.yourdomain.com[R,L]

کد htaccess ریدایرکت یک ساب دامنه بر روی دیگری:

Options+SymLinksIfOwnerMatch
RewriteEngineon
RewriteCond%{HTTP_HOST}^sub1\.yourdomain\.com$[OR]
RewriteCond%{HTTP_HOST}^www\.sub1\.yourdomain\.com$
RewriteRule^/?$"http\:\/\/sub2\.yourdomain\.com"[R=۳۰۱,L]

 


آیا این مقاله به شما کمک کرد؟

<< بازگشت