ریدایرکت https به http در سی پنل
گاهی اوقات لازم میشه تا ریدایرکت https به http را در هاست سی پنل خودتون فراهم کنید تا کاربرانی که به آدرس سایت که همراه با HTTPS است وقتی وارد میشوند به صورت خودکار به آدرس سایت با HTTP هدایت شوند. یا اینکه حالت برعکس این حالت یعنی ریدایرکت HTTP به HTTPS در هاست سی پنل را، میخواین که پیاده سازی کنید. دلایل مختلفی هم میتونه برای ریدایرکت سایت در دو حالت http و https وجود داشته باشه که از جمله این دلایل میشه به نصب SSL در هاست سی پنل یا حذف SSL اشاره کرد.
در این آموزش از آموزشگاه پیشگام وب قصد دارم به معرفی نحوه ریدایرکت کاربران در سایت از پروتکل امن HTTPS به HTTP بپردازم که با استفاده از این آموزش میتونید کاربران را از آدرس خودتون که به صورت HTTPS://site.com هست به آدرس سایت با HTTP://site.com به صورت ریدایرکت 301 هدایت کنید. در این مقاله به معرفی دو روش که با استفاده از htaccess. و استفاده از افزونه برای سایتهای وردپرسی هست خواهم پرداخت که میتونید عملیات ریدایرکت در هاست سی پنل را فراهم کنید.
برای ریدایرکت کاربران از پروتکل امن HTTPS به HTTP یکی از بهترین راهکارها استفاده از فایل htaccess. هست که در هر سیستم مدیریت محتوایی وجود دارد. برای این منظور باید کدهایی را در فایل htaccess قرار دهید. ابتدا وارد هاست خودتون شده و سپس روی گزینه File Manager کلیک کنید تا به صفحه مدیریت فایلها در هاست سی پنل هدایت شوید.
بعد از اینکه وارد فایل منیجر هاست شدید به مسیر Public_html مراجعه کرده و به دنبال فایلی با نام htaccess. بگردید. همونطور که از نقطه اول این فایب مشخص هست، جزو فایلهای مخفی هاست به حساب میاد، در این صورت اگر قابلیت نمایش فایلهای مخفی در هاست سی پنل فعال نباشه نمیتونید این فایل را ببینید. بنابراین روی گزینه Settings که در بالای صفحه قرار داره کلیک کنید.
بعد از کلیک روی دکمه Settings پنجرهای برای مشابه تصویر زیر باز میشه که باید در این پنجره تیک گزینه Show Hidden Files را فعال کرده و سپس روی دکمه Save کلیک کنید که تنظیمات ذخیره شده و فایل htaccess. به شما نمایش داده شود.
حالا روی فایل htaccess. راست کلیک کرده و گزینه EDIT را انتخاب کنید تا به صفحه ویرایش فایل هدایت شده و کدهای زیر را در اولین خط از این فایل قرار دهید.
# Redirect HTTPS to HTTP
RewriteCond %{HTTP:X-Forwarded-Proto} =https
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
همانطور که در قطعه کدهای بالا میبینید ریدایرکت از HTTPS به HTTP انجام میگیره که هر زمان کاربری به آدرس سایت که SSL در اون نصب شده وارد بشه به صورت خودکار به آدرس سایت بدون SSL هدایت خواهد شد.
توجه داشته باشید که، اگر فایل htaccess. در هاست شما وجود نداشت کافیه با استفاده از برنامههای ویرایشگر متن مثل notepad یک فایل با نام htaccess. بسازید و بعد از اینکه کدهای بالا را درون فایل قرار دادید در مسیر public_html هاست آپلود کنید.
در روش بالا با استفاده از htaccess. بود که در هر هاستی قابل اجرا بوده و میتونید برای هر سیستم سایت ساز ازش استفاده کنید. اما در صورتی که تمایلی به استفاده از کد نداشتید و از وردپرس استفاده میکنید میتونید با استفاده از افزونه به راحتی این کار را انجام بدین. افزونه ریدایرکت از HTTPS به HTTP که قصد معرفی اونو دارم با نام HTTPS to HTTP Redirect در مخزن وردپرس به ثبت رسیده و تاکنون موفق شده بیش از 100 نصب فعال را به خودش اختصاص بده که امکان ریدایرکت را براتون فراهم خواهد کرد. برای استفاده از این افزونه ابتدا روی دکمه زیر کلیک کنید تا به صفحه افزونه در مخزن وردپرس هدایت شوید، سپس با استفاده از آموزش نحوه نصب و کار کردن با افزونه ها در وردپرس اقدام به نصب و فعال سازی افزونه بکنید.
بعد از نصب و فعال سازی این افزونه دیگه نیاز به انجام کار خاصی نیست و فقط کافیه افزونه برای همیشه در حالت فعال شده باقی بمونه تا هر زمان کاربری به آدرس با SSL مراجعه کرد به صورت خودکار به آدرس بدون SSL ریدایرکت شود.
در صورتی که قصد دارید ریدایرکت را در حالت برعکس یعنی، ریدایرکت از HTTP به HTTPS در هاست سی پنل انجام دهید هم کافیه به همین طریق اقدام کنید با این تفاوت که به جای کد قبلی کد زیر را در ابتدای فایل htaccess. هاست خودتون قرار بدین .
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
با قراردادن قطعه کد بالا هم کلیه آدرسها در هاست سی پنل از HTTP به HTTPS به صورت 301 ریدایرکت خواهند شد.