مقالات آموزشی

موارد استفاده از دستورات ریدایرکت و انواع کدهای htaccess

مفید بود؟

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

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

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

 

موارد استفاده از دستورات ریدایرکت

موارد استفاده از ریدایرکت بیشتر شامل دو کاربرد زیر می شود:

• آدرس کلی و اولیه‌ی سایت یا برخی از صفحات آن تغییر کرده و ما می‌خواهیم کاربران به جای صفحات قدیمی صفحات جدید را ببینند.

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

انواع ریدایرکت

در ادامه 4 نمونه از ریدایرکت ها را برای شما توضیح می‌دهیم.

ریدایرکت 301

ریدایرکت 301 یکی از کدهایی است که برای HTTP تعریف شده و برای ریدایرکت یک وب سایت شاید بتوان گفت که بهترین راه می‌باشد. با کمک کدهای ریدایرکت یک URL به شکل دائمی به یک آدرس دیگر منتقل می‌شود. با این کار شما می‌توانید  90 تا 99 درصد ارزش‌ها و اعتبارهای سایت قدیمی را نیز به سایت جدید خود منتقل خود کنید.

ریدایرکت 302

کد ریدایرکت 302 مانند کد 301 است با این تفاوت که این ریدایرکت موقتی می‌باشد. اینترنتی که از آن استفاده می‌کنیم بر اساس پروتکل HTTP کار می‌کند. و دارای دو نسخه می‌باشد یعنی نسخه 1.0 و 1.1. استفاده از کدهای 302 در این دو نسخه کمی متفاوت است به شکلی که در نسخه 1.1 انتقال دیگر معنای موقتی را ندارد. لذا بر خلاف گفته‌ی گوگل که نحوه‌ی بر خورد با این دو ریدایرکت مشابه است اما بهتر است که تا جای امکان از همان ریدایرکت 301 استفاده کنید.

ریدایرکت 307

به جای استفاده از ریدایرکت 302 در HTTP نسخه 1.1 می‌توانید از ریدایرکت 307 استفاده نمایید  لذا اگر قصد دارید که آدرسی را به شکل موقت انتقال دهید باید از این کد بهره ببرید.

ریدایرکت Meta Refresh

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

نکات مهم در رابطه با ریدایرکت 302 و 301

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

یکی از اشتباهات رایج در بین کسانی که مدیریت وب سایت ها را بر عهده دارند این است که صفحه‌ی خطای 404 را ریدایرکت می‌کنند. این یک اشتباه بزرگ است که می‌تواند به شدت در سئوی سایت شما تاثیر منفی بگذارد.

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

 

انواع کدهای htaccess

ریدایرکت صفحات http به https

RewriteEngine On

RewriteCond %{HTTPS} off

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

ریدایرکت صفحات  https با (www (https://www به بدون www

RewriteEngine On

RewriteCond %{HTTPS} off [OR]

RewriteCond %{HTTP_HOST} ^www. [NC]

RewriteRule ^ https://okex.ir%{REQUEST_URI} [L,NE,R=301]

ریدایرکت صفحات بدون www به آدرس با www

RewriteEngine on

RewriteCond %{HTTP_HOST} ^example.com [NC]

RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]

در کد فوق بایستی به جای عبارت example.com آدرس دامنه سایت خود را وارد کنید.

ریدایرکت صفحات با www به آدرس بدون www

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www.example.com [NC]

RewriteRule ^(.*)$ http://example.com/$1 [L,R=301,NC]

در این کد نیز باید به جای عبارت example.com از آدرس دامنه مورد نظرتان استفاده کنید.

ریدایرکت http به https به جز یک دایرکتوری یا فولدر

RewriteCond %{HTTPS} on

RewriteRule ^%{HTTP_HOST}/demo(.*) http://%{HTTP_HOST}/demo/$1 [R=301,L]

RewriteRule ^index.php$ – [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

در این کد باید دایرکتوری مورد نظر را با demo جایگزین کنید.

ریدایرکت دائم تمام آدرس‌های مربوط به یک دامنه با آدرسی جدید

RedirectMatch 301 / /newurl

ریدایرکت موفق 302

Redirect 302 / http://domain.com/

ریدایرکت دامنه قدیمی به دامنه جدید

RewriteEngine on

RewriteCond %{HTTP_HOST} ^ domain.ir [NC,OR]

RewriteCond %{HTTP_HOST} ^www.domain.ir [NC]

RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301,NC]

شما باید نام دامنه و قدیمی را با domain.ir و نام دامنه جدید را با domain.com جایگزین کنید.

ریدایرکت یک فایل در htaccess

RedirectMatch 301 /oldurl  /newurl

کد ریدایرکت 301 در آپاچی

برای ریدایرکت 301 در آپاچی باید قابلیت mod_rewrite را نصب و فعال نمایید. در بیشتر سیستم‌هایی که لینوکسی هستند این قابلیت فعال است. ضمن این که شما می توانید با کمک htaccess نیز آن را فعال کنید. با فعال کردن این قابلیت می توانید پیچیده‌ترین انتقال‌ها را انجام دهید.

Author

مدیریت سایت

Leave a comment

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


The reCAPTCHA verification period has expired. Please reload the page.