ریدایرکت ۳۰۱ وردپرس با کد htaccess برای redirect آدرس دامنه سایت

در wordpress با استفاد از ریدایرکت ۳۰۱ وردپرس میتوان تنظیمات دلخواهی را بر روی دامنه یا url آدرس اینترنتی سایت انجام داد. به عنوان مثال ممکن است بخواهید بعد از مدتی فعالیت آدرس دامنه سایت تان را تغییر دهید در این حالت برای هدایت لینک های قدیمی به ادرس جدید باید از ریدایرکت ۳۰۱ استفاده کنید. در این مقاله به آموزش ریدایرکت ۳۰۱ وردپرس با استفاده از کد اچ تی اکسس htaccess برای redirect آدرس دامنه سایت در حالتهای مختلف میپردازیم پس تا انتها همراه ما باشید.

ریدایرکت 301 وردپرس با کد htaccess برای redirect آدرس دامنه سایت

کد ریدایرکت ۳۰۱ وردپرس با دستورات htaccess

فایل اچ تی اکسز با نام .htaccess مخفف کلمه هایپرتکست اکسز Hypertext Access = htaccess شناخته میشود.
محل وجود این فایل در محل نصب وردپرس که معمولا روت هاست و پوشه public_html است.

به کمک این فایل ساده می توانیم تنظیمات کاربردی وب سایت خود را بر روی وب سرور اعمال نماییم. برای مثال به کمک اچ تی اکسسز می توان بسادگی آدرس دهی بخش های مختلف وب سایت را به صورت کاربر پسند و مناسب برای موتور های جستجو اصلاح نمود و یا برای امنیت بیشتر وردپرس و سایت لایه امنیتی و کلمه عبور را برای ورود به یک پوشه در نظر گرفت و یا عملیات ریدایرکت را به کمک آن صورت داد.

نمایش فایل htaccess در هاست سی پنل

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

برای مشاهده htaccess. در سی پنل پس از انتخاب گزینه File Manager، یک پنجره کوچک نشان داده می شود. اگر گزینه Show Hidden Files را انتخاب کنید (تیک بزنید) و روی دکمه Go کلیک کنید فایل های مخفی از جمله htaccess. نشان داده می شوند.

کدهای ریدایرکت ۳۰۱ وردپرس برای تغییر آدرس دامنه

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

در این آموزش به معرفی کدهای زیر برای استفاده در htaccess میپردازیم.

  • ریدایرکت ۳۰۱ آدرس سایت به حالت بدون www
  • ریدایرکت ۳۰۱ دامنه اصلی سایت به حالت با www
  • کدهای redirect دامنه جدید در هنگام تغییر دامنه
  • ریدایرکت دامنه به حالت https در هنگام فعال بودن ssl

ریدایرکت ۳۰۱ آدرس سایت از حالت بدون www به شکل دارای www و بالعکس

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

تنظیم نمایش سایت با www در آدرس دامنه

تنظیم نمایش آدرس دامنه سایت با www در آدرس دامنه

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

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

تنظیم نمایش آدرس دامنه اصلی سایت بدون www

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

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

کد ریدایرکت ۳۰۱ وردپرس در هنگام تعویض دامنه اصلی سایت

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

کد ریدایرکت 301 وردپرس در هنگام تعویض دامنه اصلی سایت

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

example.com دامنه قدیمی و example.net دامنه جدیدی است که میخواهیم به آن ریدایرکت صورت بگیرد. در اینجا هر دو آدرس دامنه قبلی هم با www و هم بدون www به دامنه جدید ریدایرکت میشود. پس از تنظیم آدرس دامنه جدید باید سایت را دوباره در گوگل سرچ کنسول ثبت کنید و آدرسهای مربوظ به نقشه سایت را تغییر دهید.
پیش از این در مقاله ای با عنوان کد ریدایرکت کاربر وردپرس به معرفی توابع وردپرسی که میتوانیم با انها کاربران عضو شده و یا وارد شده به پیشخوان را به صحات دلخواه هدایت کنیم معرفی شده است که میتوانید از آنها در طراحی قالب وردپرس تان استفاده کنید.

درباره نویسنده
پدرام تبریزی

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

بازدیدکنندگانی که این مطلب را مطالعه کرده اند، از مطالب زیر نیز استقبال کرده اند
دیدگاهی بنویسید
31
  1. محمد
    15 شهریور 1398 ساعت 12:41

    سلام ممنونم از محتوای خوبتون
    میشه راهنمایی بفرمایید چطوری میشه کدی زد مثلا از دامنه site1.ir/files هر کسی صفحه ای رو باز کرد کلا منتقل بشه به سایت site2.ir با همون صفحه ای که باز کرده یعنی اگر کسی صفحه site1.ir/files/1 رو باز کرد بره سایت جدید به صفحه site2.ir/1 یعنی انتقال دامنه به همان ادرسی که هست به سایت جدید توی هر دوتا هم ssl فعال هستش. اگر ممکنه راهنماییم کنید

    • رضا کیانوش
      16 شهریور 1398 ساعت 07:46

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

  2. نازنین
    10 فروردین 1398 ساعت 16:13

    سلام
    یه سایت وردپرسی داریم. قبلا تغییرات URLها خود به خود ریدایرکت میشدن. اما الان مدتیه که هر URL که تغییر میکنه، ارور ۴۰۴ میده صفحه. با ریدایرکت افزونه yoast هم جواب نگرفتم. به نظرتون ایراد از کجاست؟

    • رضا کیانوش
      10 فروردین 1398 ساعت 20:57

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

  3. وحید
    3 فروردین 1398 ساعت 20:24

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

    • رضا کیانوش
      3 فروردین 1398 ساعت 21:10

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

  4. محمدمهدی
    2 اسفند 1397 ساعت 03:38

    سلام.من دو تا فایل htaccess توی هاستم دارم.یکی توی همون بخش ورودی اصلی هاست قرار داره.یکی دیگه هم توی ” پابلیک اچ تی ام ال ” قرار داره.
    الان بخوام تغیری توشون بدم باید کدومو تغیر بدم؟!

    • رضا کیانوش
      2 اسفند 1397 ساعت 08:48

      سلام وقت بخیر، تغییرات رو در فایل htaccess ای که در پوشه public_html کنار فایلهای وردپرس هست انجام بدید.

      • محمدمهدی
        2 اسفند 1397 ساعت 17:50

        با سلام مجدد.معذرت میخوام من تغیرات رو توی هر دو فایل htaccsess انجام دادم.اشکال نداره ؟
        تغیرات توی htaccsess پابلیک اچ تی ام ال رو همونجور که شما گفتین انجام دادم.تغیری که توی فایل htaccsess ورودی هاست انجام دادم رو باید به حالت سابق برگردونم؟

        • رضا کیانوش
          3 اسفند 1397 ساعت 07:57

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

  5. بهزاد
    13 مهر 1397 ساعت 00:59

    این مورد رو فراموش کرده‌اید قرار بدید: ریدایرکت دامنه به حالت https در هنگام فعال بودن ssl

    • رضا کیانوش
      13 مهر 1397 ساعت 08:50

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

  6. حسام
    26 شهریور 1397 ساعت 00:56

    ممنون از مطلب کامل و مفیدتون خسته نباشید

  7. علی
    12 اردیبهشت 1397 ساعت 17:09

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

    • رضا کیانوش
      12 اردیبهشت 1397 ساعت 22:11

      سلام وقت بخیر، بررسی کردم موردی نبود و بدرستی ریدایرکت میشد.

    • رسول
      22 آبان 1398 ساعت 15:17

      سلام دوست عزیز سایت شما آیا کاملا ریدایرکت شد با همین کد یا کار دیگه ای انجام دادید

  8. امید
    16 فروردین 1397 ساعت 10:15

    سلام من سایت کاملا حذف کردم و دامنه رو به یک هاست جدید میخواستم ببرم برای انتقال مطالب قبلی تگ و… که به صحفه اصلی در هاست جدید ریدایرکت بشه باید چیکار کنم تا ارور ۴۰۴ نده و مشکلی برای سایت نشه مرسی

    • رضا کیانوش
      16 فروردین 1397 ساعت 16:34

      سلام برای تغییر دامنه یا هاست نیازی به حذف مطالب قبلی نبود! فکر نمیکنم دیگه کاری بشه انجام داد.

  9. نیاز
    8 فروردین 1397 ساعت 16:22

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

    • رضا کیانوش
      9 فروردین 1397 ساعت 09:51

      سلام، اگر از ریدایرکت ۳۰۱ بدرستی استفاده کنید احتمال وجود مشکل برای مطالب خیلی کمه

  10. دانلود آهنگ خارجی
    5 فروردین 1397 ساعت 17:08

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

  11. حسام
    24 اسفند 1396 ساعت 15:32

    با سلام بنده یک سایت داشتم و کل سایتم رو حذف کردم از نو یک سایت دیگر با همین دامنه راه اندازی کردم. الان دامنه من عوض نشده فقط قبلا http بود و الان ssl دارم و htts است. و در کل لینک های قبلی حذف شدند و سایت جدید با لینک های جدیدی راه اندازی شده (دقت کنید دامنه عوض نشده فقط لینک های قبلی الان دیکه وجود ندارن ) و الان سوال من اینه:
    ۱٫ چطوری باید ریدایرکت ۳۰۱ انجام دهم که همه لینک های قبلی به صفحه ی ایندکس من به هدایت بشن ؟ آیا باید تک تک هکه لینک ها را ریدایرکت ۳۰۱ کنم یا کدی هست که همه لینک های حذف شده را انتقال بده؟
    ۲٫ آیا ریدایرکت همه لینک های حذف شده به صفحه ی اصلی ضرری برای سئوی سایت ندارد؟
    در ضمن سایتم وردپرس نیست اختضاضیه در گوگل وب مستر هم این برای لینک هایی که حذف شده در بخشی crawl error – URL Errors با خطلای ۴۰۴ روبرو شدم. ممنون میشم راهنماییم کنید بنده فقط در سایت شما میتونم جواب سوالاتم رو بگیرم.

    • رضا کیانوش
      24 اسفند 1396 ساعت 19:26

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

      • حسام
        26 اسفند 1396 ساعت 09:14

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

        • رضا کیانوش
          26 اسفند 1396 ساعت 18:40

          در بخش خطاها در سرچ کنسول گوگل، تیک کنار خطا رو بزنید و روی گزینه mark as fixed کلیک کنید.

  12. روزبه
    30 بهمن 1396 ساعت 14:51

    با سلام و درود من در حال حاضر یک وبسایت تحت جوملا دارم میخواستم به وردپرس انتقال بدم مطالب رو انتقال دادم ولی نمیخوام تو گوگل دچار مشکل بشم لطفا راهنمایی میکنید من چیکار باید بکنم؟

    • رضا کیانوش
      30 بهمن 1396 ساعت 16:50

      سلام وقت بخیر با استفاده از افزونه FG Joomla to WordPress میتونید سایت تون رو از جوملا به وردپرس منتقل کنید. آموزشهای فراوانی در سایتهای مرجع انگلیسی وجود داره که تنها کافیه نام افزونه رو جستجو کنید تا بهشون برسید. موفق باشید

  13. مهرداد
    29 بهمن 1396 ساعت 15:20

    سایت من با www بالا نمی آید. آیا با Yoast SEO میشه ریدایرکت کرد. تو اینترنت سرچ کردم دیدم نوشته باید اچ تی اکسس را ادیت کنم. کردم نشد. امکانش هست راهنمایی کنین

    • رضا کیانوش
      29 بهمن 1396 ساعت 18:53

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

  14. حسین
    21 آبان 1396 ساعت 00:25

    سلام لطفا Blocked Resources در گوگل کنسول را هم آموزش دهید . چون سایت من حدود ۳۹۵ تا Pages using this blocked resourceهستش . ممنون از سایت خوبتان

    • رضا کیانوش
      21 آبان 1396 ساعت 05:34

      سلام بزودی آموزشش رو قرار میدم