کد 301 redirect - کد ریدایرکت 301 - ریدایرکت با htaccess
شناسه پست: 16231
بازدید: 13

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

کد ریدایرکت دامنه چیست

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

کد ۳۰۱ redirect زمانی قابل استفاده است که می خواهید در یک آدرس را به آدرس جدیدی انتقال دهید.

ریدایرکت با htaccess توسط کد زیر امکان پذیر است :

کد ریدایرکت با htaccess

کد استاندارد انتقال دامنه قدیمی سایت به دامنه جدید آن توسط فایل htaccess :

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.ir [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.ir [NC]
RewriteRule ^(.*)$ http://example.ir/$1 [L,R=301,NC]

توسط کد بالا ، دامنه قدیمی چه با www و چه بدون آن ، به یک آدرس جدید منتقل خواهند شد.

.

اما اگر میخواهید ، دامنه قدیمی با www و بدون آن ، هر کدام به طور جداگانه به یک آدرس جدید منتقل شوند ، می توانید از کد زیر استفاده کنید :

هر چند که این کار باید حتما با هدف خاصی صورت بگیرد ، در غیر این صورت برای سئو سایت بسیار مضر است.

Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com [NC]
RewriteRule ^(.*)$ http://newdomain.com/$۱ [L,R=۳۰۱]

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

.

کد های دیگری جهت ریدایرکت کردن دامنه سایت توسط فایل htaccess ( اچ تی سی اکسس ) وجود دارد ، اما تفاوت هایی با یکدیگر دارند.

کد ریدایرکت ۳۰۱ دوم

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

RewriteEngine On
RewriteRule ^.*$ http://example.com/newpage.html [R=301,L]

.

بنابراین بهتر است برای ریدایرکت با htaccess ، از کد اول استفاده کنید.

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

کد ریدایرکت ۳۰۱ کامل

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

به طور مثال :

دامنه قدیمی : example.ir    –     دامنه جدید : mdp-co.ir

example.ir/shop/125

اگر کد ریدایرکت با htaccess اول را استفاده کنید ، به این صورت خواهد بود :

mdp-co.ir/shop/125

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

.

کد ریدایرکت 301 با فایل htaccess برای جلوگیری از ارور 404

کد ریدایرکت ۳۰۱ با فایل htaccess برای جلوگیری از ارور ۴۰۴

بیشتر اوقات بعد از اینکه آدرس سایت خود را عوض میکنید ، لینک های قدیمی دچار ارور ۴۰۴ می شوند ، این مورد نه تنها برای بازدیدکنندگان بسیار نا مطلوب است ، حتی برای موتور های جستجو در زمینه سئو بسیار مضر است.

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

.

سوالات خود را در قسمت نظرات همین پست از ما بپرسید…

.


مقالات بیشتر :

تغییر آدرس لینک ها در وردپرس

What is a 301 Redirect, and When Should You Use One?

نویسنده

مدیر سایت
مدیریت مجموعه داده پردازان مدرن
  1. سلام وقت بخیر

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

    این کدها رو امتحان کردم

    Redirect 301 /product-tag/%D8%B9%D8%B3%D9%84-%D8%A2%D9%82%D8%A7-%D9%85%D8%B5%D8%B7%D9%81%DB%8C/ /product-category/%d8%b9%d8%b3%d9%84/?filter_farmer=mostafa

    RewriteRule https://example.com/product-tag/%D8%B9%D8%B3%D9%84-%D8%A2%D9%82%D8%A7-%D9%85%D8%B5%D8%B7%D9%81%DB%8C/ https://example.com/product-category/%d8%b9%d8%b3%d9%84/?filter_farmer=mostafa [R=301,L]

    اما کار نمیکنه
    حتی [L] رو هم جابجا کردم اما نشد.

    مشکل کجاست یا راهنمایی دارین ؟
    ممنون

  2. خدا خیرتون بده هرچی کد میزدم کار نمکیرد ممنون عالی بود