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

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

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

اما اصلا فایل .htaccess چیست؟ چگونه می توانیم با استفاده از فایل .htaccess لینک های وب سایت مان را ریدایرکت کنیم؟ یا چطور این کار امکان پذیر است؟ با ما همراه باشید تا در ابتدا به این بحث بپردازیم که کارایی فایل .htaccess چیست، و چگونه می توانیم با استفاده از این فایل آدرس های وب سایت مان را مدیریت کنیم؟

فایل .htaccess چیست؟

فایل .htaccess چیست

فایل .htaccess یک فایل پیکربندی است که توسط سرور خوانده می شود. این مورد می تواند بسیاری از تنظیمات پیکربندی سرور را حذف کند و می تواند برای مجوز، کنترل کش، بهینه سازی وب سایت و بازنویسی URL استفاده شود.

در وردپرس، فایل .htaccess به طور معمول برای بازنویسی URL یا همان پیوند های یکتا، استفاده از آنها در پاک سازی و خواندن بیشتر توسط انسان ها و موتورهای جستجو استفاده می شود.

در بخش تنظیمات » پیوند های یکتا در پیشخوان مدیریت وردپرس، شما می توانید ساختار URLیا پیوندهای یکتای وب سایت خود را انتخاب کنید. وردپرس به طور خودکار فایل htaccess شما را بازنویسی خواهد کرد تا آدرس ساختاری انتخابی شما را اجرا کند.

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

پلاگین هایی مانند W3 Total Cache فایل های .htaccess وب سایت شما را تغییر می دهند تا ابزار ذخیره سازی و بهینه سازی که بخشی از پلاگین هستند را پیکربندی کنند.

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

برای خارج کردن فایل .htaccess از حالت پنهان، ابتدا وارد هاست و سپس وارد File manager شوید. این فایل درون پوشه ی Public_html قرار دارد، بنابراین به این بخش مراجعه نمایید.

فایل .htaccess

همان طور که گفتیم، وارد پوشه ی public_html شوید، در این پوشه، همان طور که در تصویر زیر مشخص کردیم بر روی دکمه ی setting کلیک کنید تا پنجره ی مربوط به تنظیمات نمایان شود.

فایل .htaccess

حالا همان طور که در تصویر بالا مشخص کردیم، بر روی چک باکس گزینه ی show hidden files کلیک کنید تا فعال شده و فایل های پنهان و فایل هایی که با نقطه شروع می شوند را نمایش دهد. در مرحله ی آخر هم بر روی دکمه ی save کلیک کنید تا تنظیمات ذخیره شده و اجرا شوند.

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

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

آموزش ریدایرکت آدرس ها به WWW یا بدون WWW

قسمت 1 – چگونه تمام لینک ها را از www.example.com به example.com ریدایرکت کنم؟

یک ریدایرکت 301 ایجاد کنید که همه درخواست های HTTP را برای استفاده از www.example.com یا example.com اجبار کند:

  •  مثال 1 – ریدایرکت example.com به www.example.com :

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

  •  مثال 2 – تغییر مسیر www.example.com به example.com :

RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^/?$ "http://example.com/" [R=301,L]

تغییر مسیر به example.com/index.php

شما یک وب سایت با نام example.com دارید و می خواهید تمام آدرس های ورودی که به example.com/ می روند را به example.com/index.php تغییر مسیر دهید.

 

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^$ http://example.com/index.php [L,R=301]

 

تغییر مسیر بازدیدکنندگان به یک سایت جدید

شما یک وبسایت قدیمی دارید که به عنوان مثال با دامنه ی oldexample.com قابل دسترسی است و شما یک وب سایت جدید دارید که با دامنه ی newexample.com قابل دسترسی است. کپی محتوای وب سایت قدیمی به وب سایت جدید اولین گام است – اما چه اتفاقی پس از آن می افتد؟ شما باید یک ریدایرکت 301 ایجاد کنید که به طور دائمی از دامنه قدیمی به دامنه جدید تغییر مسیر دهد – که آسان است و دارای مزایای متنوعی می باشد :

  •  کاربران به طور خودکار به دامنه جدید هدایت می شوند – شما لازم نیست آنها را مطلع کنید.
  • موتورهای جستجو به دامنه جدید هدایت می شوند و تمام اطلاعات مربوط به آن به دامنه جدید منتقل می شود (اما ممکن است کمی طول بکشد).
  • PageRank گوگل به دامنه جدید منتقل خواهد شد و همچنین اطلاعات داخلی دیگر که برای تعیین موقعیت صفحات در صفحات نتایج موتور جستجو (serp) مانند TrustRank استفاده می شود.

یک ریدایرکت 301 را برای همه درخواست های HTTP که به دامنه قدیمی می روند ایجاد کنید.

  • PageRank مثال 1 – تغییر مسیر از oldexample.com به www.newexample.com :

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

این کار وقتی که شما از www.newexample.com به عنوان نام دامنه جدید خود استفاده می کنید مفید است (همچنین این مورد را در مورد هدایت دامنه های www و غیر www نیز می توانید ببینید). اگر نه – از کد مثال 2 استفاده کنید.

  • PageRank مثال 2 – تغییر مسیر از oldexample.com به newexample.com :

 

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

نحوه افزودن علامت اسلش “/” :

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

بیایید نگاهی به این مثال بیاندازیم : example.com/google/ در یاهو به صورت example.com/google نمایش داده می شود – که در نتیجه دو پیوند یکتا با همان محتوا ایجاد می شود.

راه حل این است که یک قانون بازنویسی .htaccess ایجاد کنید که کارکتر اسلش را به این پیوند های یکتا اضافه می کند. به عنوان مثال – تمام آدرس هایی را که هیچ علامتی باقی نمی گذارند به آدرس هایی که دارای یک علامت اسلش هستند هدایت می کنند:

 

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !example.php
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ http://example.com/$1/ [L,R=301]

 

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

, , , ,
نوشتهٔ بعدی
آموزش پارک و ریدایرکت دامنه های با نام مشابه سایتمان
نوشتهٔ پیشین
دومین کارگاه طراحی سایت یک روزه

مطالب مرتبط

۴ دیدگاه. دیدگاه جدید بگذارید

این کد باید دقیقا کجای فایل hc قرار بدیم تو کدوم خط باید باشه

پاسخ

سلام خودتون هم که رعایت نکردین؟
الا هم با / باز میشه صفحه هم بدون / یعنی ریدایرکت نمیشه به حالت/

پاسخ

    با سلام
    دو نکته هست:
    ۱-فقط صفحه اصلی رعایت نمیشه و بقیه صفحات رعایت میشه
    ۲-ما چون از وردپرس استفاده میکنم افزودن علامت اسلش “/” خیلی مهم نیست
    چون وردپرس از متا تگ های canonical درست استفاده میکنه و آدرس ها معادل هم هستند و توی سئو هم هیچ مشکلی ایجاد نمیکنه

    پاسخ

پاسخی بگذارید

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

Fill out this field
Fill out this field
لطفاً یک نشانی ایمیل معتبر بنویسید.
You need to agree with the terms to proceed

فهرست



با ساخت حساب کاربری و سپس خریداری رایگان این محصول
 از به روز رسانی های آینده نیز مطلع خواهید بود