.htaccess (örnek siteadi.com yerine kendi alan adını yaz)
# WWW ve HTTPS'e yönlendir
RewriteEngine On
# 1) non-www kök alan adını (http veya https) -> https://www.siteadi.com/... yönlendir
RewriteCond %{HTTP_HOST} ^siteadi\.com$ [NC]
RewriteRule ^ https://www.siteadi.com%{REQUEST_URI} [R=301,L]
# 2) www açık ama HTTPS kapalıysa -> https://www.siteadi.com/... yönlendir
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.siteadi\.com$ [NC]
RewriteRule ^ https://www.siteadi.com%{REQUEST_URI} [R=301,L]
# (İsteğe bağlı) Proxy/CDN arkasındaysa (örn. Cloudflare/Load Balancer) HTTPS tespiti için:
# X-Forwarded-Proto başlığına bak
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} ^www\.siteadi\.com$ [NC]
RewriteRule ^ https://www.siteadi.com%{REQUEST_URI} [R=301,L]
# ---- WordPress standart kuralları bunun ALTINDA kalsın ----
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress