پرش به مطلب اصلی
نسخه: 1.1.0

مهاجرت از HTTP به HTTPS

ریدایرکت (تغییر مسیر)

(اختیاری) پس از اینکه سرور خود را با یک گواهی SSL پیکربندی کردید، اگر شرکت میزبانی وب شما سرویس ریدایرکت به HTTPS را ارائه نمی‌دهد، لازم است که پروتکل HTTPS را برای وب‌سایت خود اجباری کنید.

برای اجباری کردن پروتکل HTTPS، لطفاً فقط یکی از روش‌های زیر را استفاده کنید (از طریق فایل پیکربندی سرور یا از طریق فایل PHP اپلیکیشن).

ریدایرکت از طریق فایل پیکربندی سرور

Apache

شما باید کد زیر را به فایل public/.htaccess/ اضافه کنید:

# Redirect all normal pages to https pages (http => https)
RewriteCond %{HTTPS} ^off$ [NC]
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Nginx

البته، اگر از وب سرور Apache استفاده نمی‌کنید، هر تغییری در فایل .htaccess بی‌اثر خواهد بود. خوشبختانه، اجباری کردن SSL در Nginx بسیار آسان است، همانطور که در قطعه کد کوتاه زیر نشان داده شده است:

server {
listen 443 ssl;
server_name domain.com;
return 301 https://domain.tld$request_uri;
}

ریدایرکت از طریق فایل اپلیکیشن

شما باید خط شماره ۳۸ در فایل app/Http/Middleware/HttpsProtocol.php/ را با ویرایش آن، از حالت کامنت خارج کنید (uncomment کنید). به این صورت که علامت // را از ابتدای آن حذف نمایید:

// Production is not currently secure
return redirect()->secure($request->getRequestUri());

به‌روزرسانی فایل /.env

برای اینکه تمام لینک‌های شما از پروتکل HTTPS استفاده کنند، باید پشتیبانی از HTTPS را برای وب‌سایت خود با به‌روزرسانی متغیرهای زیر در فایل /.env فعال کنید:

APP_URL=https://domain.tld
FORCE_HTTPS=true

مهم

اطمینان حاصل کنید که از مقدار صحیح برای آدرس URL/دامنه وب‌سایت خود استفاده می‌کنید، که می‌تواند شامل www باشد یا نباشد ( مثلاً https://domain.tld یا https://www.domain.tld).