.htaccess ile 301 Yönlendirme: HTTPS, www ve Eski Adresler
Bir sayfanın adresi değiştiğinde ziyaretçilerin ve arama motorlarının yeni adrese ulaşması gerekir. Bunun standart yolu 301 (kalıcı) yönlendirmedir. LiteSpeed sunucumuz Apache ile uyumlu .htaccess kurallarını okur; bu yüzden aşağıdaki örnekler doğrudan çalışır.
Başlamadan önce
.htaccessdosyası sitenizin kök klasöründe (çoğunluklapublic_html) bulunur. Dosya Yöneticisi'nde görmüyorsanız Ayarlar'dan gizli dosyaları göstermeyi açın.- Düzenlemeden önce dosyanın bir kopyasını alın. Tek bir yazım hatası sitenin "500 Internal Server Error" vermesine neden olabilir; bu durumda eski kopyayı geri koymanız yeterlidir.
- WordPress kullanıyorsanız, kendi kurallarınızı
# BEGIN WordPressbloğunun dışına, tercihen üstüne yazın. WordPress bu bloğun içini kendisi yeniden yazar.
HTTP'den HTTPS'e yönlendirme
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Siteniz Cloudflare arkasındaysa ve Cloudflare'de "Always Use HTTPS" açıksa bu kurala gerek yoktur. Cloudflare SSL modu "Flexible" iken bu kuralı eklemek yönlendirme döngüsüne yol açar; modu "Full" yapın.
www'den www'suz adrese (veya tersi)
Sitenizin tek bir adreste açılması, aynı içeriğin iki adreste görünmesini önler.
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,R=301]
Tersini istiyorsanız, yani her zaman www ile açılmasını istiyorsanız:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
WordPress'te Ayarlar › Genel'deki adres de seçtiğiniz biçimle aynı olmalıdır.
Tek bir eski sayfayı yeni adrese yönlendirmek
Redirect 301 /eski-sayfa/ https://ornek.com/yeni-sayfa/
Site taşıma veya adres yapısı değişikliğinde, trafik alan eski sayfaların her birini en yakın yeni karşılığına yönlendirin. Hepsini ana sayfaya yönlendirmek kullanıcı açısından da arama motorları açısından da zayıf bir çözümdür.
Eski alan adından yeni alan adına
Eski alan adını hesabınıza takma ad olarak ekledikten sonra:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?eskialanadi\.com$ [NC]
RewriteRule ^ https://yenialanadi.com%{REQUEST_URI} [L,R=301]
SSL doğrulamasını engellememek
Tüm istekleri yönlendiren geniş kurallar, ücretsiz SSL sertifikasının doğrulama dosyasına erişimi de engelleyebilir. Böyle bir durumda kuralın üstüne şu istisnayı ekleyin:
RewriteCond %{REQUEST_URI} !^/\.well-known/
Ayrıntılar için AutoSSL sorun giderme yazımıza bakın.
Test etmek
Tarayıcılar 301 yönlendirmelerini önbelleğe aldığı için değişikliği gizli pencerede test edin. Adres çubuğunda "çok fazla yönlendirme" hatası görüyorsanız iki kural birbirini tetikliyor demektir; son eklediğiniz kuralı kaldırıp tekrar deneyin.
Yorumlar0
Henüz Yorum Yok
İlk düşüncenizi paylaşan siz olun.
Yorum bırakmak için lütfen giriş yapın veya kaydolun.