کد انتقال خودکار HTTP به HTTPS در وبسرور آپاچی (.htaccess)
کد بازنویسی mod_rewrite را در ابتدای فایل .htaccess قرار دهید تا تمام ترافیک به پورت امن 443 و آدرس https:// هدایت شود. این ریدایرکت با کد 301 انجام شده و سئو را حفظ میکند.
مشخصات فنی و شناسنامه کد (Code Information)
بازبینی: 1405/06/29<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} =http
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>
کد را کجا قرار دهیم؟ (Placement Guide)
این قطعه کد را در فایل .htaccess واقع در ریشه هاست (معمولاً public_html) بالاتر از بلوک # BEGIN WordPress قرار دهید.
این کد چگونه کار میکند؟ (How it Works)
دستور RewriteEngine On موتور بازنویسی را روشن میکند. شرط RewriteCond %{HTTPS} off بررسی میکند که آیا اتصال ناامن است. شرط دوم از پروتکلهای پشت پروکسی معکوس و کلودفلر پشتیبانی میکند. دستور RewriteRule کل درخواست را با کد 301 به https منتقل میکند.
چه زمانی از این کد استفاده کنیم؟ (Use Cases)
پس از نصب گواهینامه SSL برای جلوگیری از محتوای تکراری و بالا بردن امنیت تبادل اطلاعات کاربران.
چه زمانی نباید از این کد استفاده کنیم؟ (Anti-patterns)
اگر روی هاست گواهینامه معتبر SSL فعال نشده باشد، فعالسازی این کد باعث خطای امنیتی مرورگر خواهد شد.
پیشنیازهای اجرا
وبسرور Apache یا LiteSpeed با ماژول فعال mod_rewrite و گواهینامه فعال SSL/TLS.
نحوه تست و اطمینان از عملکرد
با دستور cURL -I http://example.com کد پاسخ 301 و هدر Location با پیشوند https را مشاهده کنید.
نحوه بازگردانی سریع (Rollback)
کافیست خطوط اضافه شده را از فایل .htaccess حذف کرده و کش مرورگر را پاکسازی نمایید.
خطاهای رایج و راهحل رفع
خطای Redirect Loop در صورت پیکربندی نادرست کلودفلر روی Flexible (در کلودفلر حالت SSL را روی Full یا Full Strict قرار دهید).
ملاحظات و نکات امنیتی
پروتکل HTTPS از استراقسمع و حملات Man-in-the-middle جلوگیری میکند.
تاثیر بر سرعت و پرفورمنس
ریدایرکت در سطح وبسرور بسیار سریعتر از ریدایرکت با افزونههای سنگین وردپرس اجرا شده و TTFB را کاهش میدهد.