کد ریدایرکت دامنه سایت از آدرس قدیمی به آدرس جدید
کد ریدایرکت دامنه چیست
کد ریدایرکت بدین معنی است که در زمان باز کردن یک دامنه ، توسط آن کد ، بازدید کننده بلافاصله به دامنه دیگری منتقل می شود.
کد ۳۰۱ 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
یعنی دنباله ی آدرس اصلی نیز باقی می ماند که روش صحیح ریدایرکت کردن صفحات سایت همین است.
.
کد ریدایرکت ۳۰۱ با فایل htaccess برای جلوگیری از ارور ۴۰۴
بیشتر اوقات بعد از اینکه آدرس سایت خود را عوض میکنید ، لینک های قدیمی دچار ارور ۴۰۴ می شوند ، این مورد نه تنها برای بازدیدکنندگان بسیار نا مطلوب است ، حتی برای موتور های جستجو در زمینه سئو بسیار مضر است.
بنابراین حتما بعد از تغییر آدرس سایت خود ، باید دامنه قبلی را به آدرس جدید توسط کد ریدایرکت ۳۰۱ که در ابتدا ذکر شده ، منتقل نمایید.
.
سوالات خود را در قسمت نظرات همین پست از ما بپرسید…
.
مقالات بیشتر :
3 پاسخ
ممنونم مفید بود
سلام وقت بخیر
من می خواستم یه آدرس قدیم در سایت رو به یه آدرس جدید تو فایل 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://....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://....com/product-category/%d8%b9%d8%b3%d9%84/?filter_farmer=mostafa [R=301,L]
اما کار نمیکنه
حتی [L] رو هم جابجا کردم اما نشد.
مشکل کجاست یا راهنمایی دارین ؟
ممنون
خدا خیرتون بده هرچی کد میزدم کار نمکیرد ممنون عالی بود