آموزش سئو

کد htaccess انتقال آدرس سایت به نسخه بدون www یا با www

تعیین آدرس اجباری برای سایت با www یا بدون www

در این مطلب کوتاه می توانید کدهای انتقال htaccess برای سایت خودتن را دریافت کنید که چطور آدرس های متفاوت با آدرسی که شما تعیین کردین، به نسخه مد نظر شما ( همراه با www در ابتدای آدرس سایت و یا بدون ww) منتقل یا ریدایرکت کنید.

انتقال آدرس سایت به نسخه بدون www یا با www به کمک htaccess

چرا بهتر است urlها به یک آدرس ریدایرکت شوند؟

یونیک بودن آدرس ها در سئو یکی از موارد مهم است، اما چرا این موضوع اهمیت دارد؟ ( اگر تازه با سئو آشنا شدین، مقاله‌ی سئو چیست؟ می تواند برای شما مناسب باشد)

  • جلوگیری از دریافت ارور 404 و باز نشدن صفحه (به خصوص در سیستم های مدیریت محتوای اختصاصی)
  • جلوگیری از ایجاد محتوای تکراری

البته راجع به مورد دوم راهکارهای دیگری مثل استفاده از تگ canonical هم هست، ولی بازم ترجیح من اینه که آدرس های مختلف یک سایت، به یک ادرس مشخص منتقل شوند.
منظورم از آدرس های مختلف 4 حالت همراه با www، بدونwww با https و با http هست.

با www یا بدون www

احتمالاً واسه خیلی از دوستان این سؤال پیش بیاد که کدوم آدرس برای سایت بهتر است؟

هیچ فرقی ندارد

من اغلب آدرس بدون www را برای وبسایت های خودم ترجیح میدم. www در واقع یک ساب دامین ( زیر دامنه) هست که اینقدر ازش استفاده شده که خیلی اوقات یادمون میره که ساب دامین هست و خلاصه شده World Wide Web هست. وجود داشتن تنها یک مزیت داره، اونم اینه که در خیلی از مرورگرها بعد از وارد کردن آدرس سایت، با زدن کلیدهای ترکیبی Ctrl+Enter به ابتدای اسم www و به انتهای آن .com اضافه می شود که باز هم قاعدتا برای سایت های غیر .com مزیتی ایجاد نمیشه.

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

.htaccess چیست؟

htaccess خلاصه شده Hyper Text Aceess هست که به شما قابلیت یک سری تنظیمات در سطح دایرکتوری(Directory Level) رو میده که باعث میشه بتونیم خیلی از مسائل رو با کمکش حل کنیم.

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

برای دسترسی به این فایل یا از طریق ftp میتونید اقدام کنید یا از طریق سی پنل ( یا هر کنترل پنل مدیریت دیگه ای که دارید) وارد قسمت مدیریت فایل (File Manager) بشید.

فایل منیجر در سیپنل

بعد از ورود به فایل منیجر از منوی درختی کناری(در سیپنل) پوشه public_html را پیدا کنید و کلیک کنید.

منوی درختی پوشه ها در cpanel

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

Show Hidden Files در کنترل پنل مدیریت هاست cpanel

بعد از این کار فایل .htaccess به شما نمایش داده میشه بعدش کافیه روی فایل راست کلیک کنید و Edit رو بزنید و برید سراغ اضافه کردن کد.

نکته مهم: یک ویرایش اشتباه در فایل htaccess ممکنه باعث داون شدن سایت بشه، واسه همین بهتره همیشه از ftp یا کنترل پنل هاستینگ استفاده کنید که اگر مشکلی پیش اومد، فورا کدهای اشتباه را اصلاح یا حذف کنید.

کد انتقال سایت به نسخه بدون www

اگر مثلا از وردپرس یا یک سیستم مدیریت محتوای دیگه استفاده می کنید و آدرس اصلی سایت رو در تنظیمات به این صورت نوشتید: https://danialtaherifar.ir این همون آدرسی هست که بهتره آدرسهای مدل دیگه بهش ریدایرکت بشن.

حالا فرص می کنیم کاربر آدرس رو به این شکل وارد کرده، https://www.danialtaherifar.ir، با استفاده از کد زیر میتونیم کاری کنیم که آدرس به صورت خودکار به https://danialtaherifar.ir منتقل بشه.

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

پ.ن: مشخصه که باید دامنه خودتون رو جایگزین دامنه سایت بنده کنید.

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

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

کد انتقال سایت به نسخه اجباری با www

این حالت هم مشابه حالت قبلیه ولی برعکس، یعنی آدرس اصلی سایت شما با www تنظیم شده (www.danialtaherifar.ir) و میخواهید هرکس بدون www وارد شد، منتقل بشه به آدرس اصلی و مد نظر شما.

برای رفع این مورد کافیه که کد زیر را در فایل .htaccess خودتون قرار بدین و تمام.

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

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

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
عضویت در کانال یوتیوب و دریافت آموزش های ویدئویی کانال آموزشی Danial TV

دانیال طاهری فر

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

نوشته های مشابه

‫2 دیدگاه ها

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

دیدگاهتان را بنویسید

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

دکمه بازگشت به بالا