در این آموزش از پایگاه دانش بایت نت، چگونگی تغییر مسیر HTTP به HTTPS با استفاده از htaccess خدمت شما ارائه میشود.
چگونگی تغییر مسیر HTTP به HTTPS با استفاده از htaccess
انتقال آدرس های وب با استفاده از دستورات htaccess به راحتی انجام می شود. معمولا زمانی که بر روی سایت خود یک گواهینامه SSL معتبر نصب میکنید آدرس های ایندکس شده در موتورهای جستجو و آدرسهای ذخیره شده قبلی در مرورگرهای کاربران همچنان بدون https باز می شوند و برای جلوگیری از مواجهه کاربران با خطای SSL لازم است آدرس ها را به آدرس های دارای https ریدایرکت نمایید.
اگر از سایت سازهایی مانند وردپرس یا جوملا استفاده میکنید معمولا این کار را میتوانید با استفاده از افزونه ها هم انجام دهید.
ولی اگر میخواهید از نصب افزونه های غیر ضروری جلوگیری کنید و به سبک و خلوت ماندن سایت خود خیلی اهمیت میدهید میتوانید برای انتقال آدرس ها از http به https از دستورات مربوطه در فایل .htaccess هاست نیز استفاده کنید.
توجه داشته باشید کار با فایل htaccess بسیار حساس است ولی سخت نیست، چرا که در صورت کوچکترین تغییرات اشتباه در این فایل باعث میشود سایت شما به طور کلی از دسترس خارج شود.
لذا چنانچه دانش کافی برای کار با این فایل یا کار با کنترل پنل یا نرم افزارهای SSH یا FTP ندارید توصیه میکنم از یک فرد متخصص در این زمینه کمک بگیرید تا دچار مشکلات ناخواسته نشوید.
و اما طریقه انجام کار:
برای اینکه ترافیک وبسایت خود را مجبور به استفاده از https کنید لازم است فایل .htaccess موجود در ریشه هاست (سایت) خود را ویرایش کنید. و در صورتی که این فایل را در هاست خود ندارید میتوانید آن را ایجاد نمایید.
توجه داشته باشید این فایل (به طور کلی همه فایل ها و پوشه هایی که نام آنها با نقطه شروع می شود یا به عبارتی نام ندارند و فقط دارای ساختار نقطه و پسوند هستند. مانند Dot htaccess یا .htaccess ) به صورت پیشفرض مخفی است و باید با تنظیمات فایل منیجر هاست یا تنظیمات نرم افزار FTP Manager نمایش فایل های مخفی را فعال کنید تا بتوانید فایل .htaccess را ببینید.
در نهایت اگر مطمئن شدید فایل .htaccess در هاست شما در مسیر ریشه (در هاست های لینوکسی دارای کنترل پنل دایرکت ادمین و سیپنل داخل پوشه Public_html ) وجود ندارد میتوانید آن را ایجاد نمایید.
پس از باز کردن فایل .htaccess در ویرایشگر باید دستوراتی را که در ادامه ذکر می شود را در فایل اضافه نمایید.
دستورالعمل هایی در فایل htaccess وجود دارد که به سرور دستور می دهد که چگونه در سناریوهای خاص عمل کند و مستقیما بر روی عملکرد وب سایت تاثیر می گذارد.
در این مقاله ما فقط دستورالعمل مربوط به ریدایرکت سایت از http به https را گفته ایم و نباید سایر دستورالعمل های موجود را بدون آگاهی از عملکرد آنها تغییر دهید.
راههای ویرایش فایل .htaccess
- فایل را در رایانه خود ویرایش و سپس با استفاده از کنترل پنل یا نرم افزارهای مدیریت FTP بر روی سرور آپلود نمایید.
- فایل را مستقیما از طریق فایل منیجر در کنترل پنل هاست خود ویرایش کنید.
- فایل را از طریق حالت « ویرایش » در نرم افزار FTP Manager ویرایش کنید.
تهیه نسخه پشتیبان قبل از ویرایش فایل .htaccess تنها راه نجات شماست
دستورات انتقال HTTP به HTTPS
انتقال تمام ترافیک وب سایت از http به https
برای اینکه تمام ترافیک دامنه سایت خود را از http به https هدایت کنید دستورات زیر را در فایل .htaccess اضافه کنید.
1 2 3 |
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L] |
به جای عبارت www.yourdomain.com نام دامنه خود را جایگزین نمایید.
انتقال یک دامنه خاص به https
برای تغییر مسیر و انتقال یک دامنه خاص از http به https از کد زیر در فایل htaccess استفاده نمایید:
1 2 3 4 |
RewriteEngine On RewriteCond %{HTTP_HOST} ^yourdomain\.com [NC] RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L] |
به جای عبارت yourdomain.com نام دامنه خود را جایگزین نمایید.
تغییر مسیر یک پوشه خاص در سایت به https
تصور کنید یک پوشه در هاست خود دارید مانند: yourDomain.com/test و میخواهید این مسیر را فقط به آدرس دارای https انتقال دهید. برای این کار از کد زیر استفاده کنید و آن را در فایل .htaccess در ریشه سایت خود اضافه نمایید:
1 2 3 4 |
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteCond %{REQUEST_URI} test RewriteRule ^(.*)$ https://www.yourdomain.com/test/$1 [R,L] |
به جای عبارت yourdomain.com نام دامنه و به جای test نام پوشه مورد نظر خود را جایگزین نمایید.
مرورگرهای وب، خصوصا فایرفاکس و کروم برای مشاهده سایتهایی که از پروتکل SSL یا https استفاده نمیکنند هشدار می دهند که این وب سایت امن نیست و تقریبا داشتن SSL برای سایتها به یک امر ضروری برای سایتهای اینترنتی تبدیل شده است.
ما در مجموعه بایتنت بر روی سرویسهای هاستینگ پیکربندی و زیرساخت لازم برای استفاده از گواهی امنیتی SSL رایگان Let’s Encrypt را فراهم نموده ایم و شما میتوانید هم از پروتکل SSL رایگان بر روی سایت های خود استفاده کنید و هم میتوانید گواهینامه تجاری SSL را به هزینه بسیار مقرون بصرفه خریداری نمایید و نصب و پیکربندی گواهینامه توسط کارشناسان فنی بایت نت بر روی سایت شما انجام خواهد شد.