Htaccess www yönlendirme

Htaccess www yönlendirme

Htaccess www yönlendirme

Www yönlendirme kodu ve Htaccess www yönlendirme için gerekli kodlar ayrıca Htaccess 301 yönlendirme kodu hakkında bilgi.

.htaccess https ve www'ye yönlendirme

Siteniz HTTPS protokolü (yani SSL / TLS aracılığıyla ) aracılığıyla güvenli sayfalar sunuyorsa, tüm HTTP isteklerini HTTPS'ye yeniden yönlendirmek için bir tekniğe ihtiyacınız olabilir . Daha sonra, kanonikleştirme çabalarınızda daha ileri gitmek için, tüm www isteklerini www olmayanlara (veya tam tersi) yeniden yönlendirmek isteyebilirsiniz . Bu tekniklerin her ikisi de web sayfalarınızın kanonik sürümlerini sunmak için gereklidir, öyleyse neden bunları tek, basit .htaccess diliminde birleştirmeyesiniz ? Nasıl yapılacağını öğrenmek için okumaya devam edin 

Https ve www olmayanlara yönlendirme

Bunun yerine tüm istekleri https ve www olmayanlara yeniden yönlendirmek için, öncekinin yerine aşağıdaki kodu kullanın:

# Canonical HTTPS/non-WWW
<IfModule mod_rewrite.c>
	RewriteCond %{HTTPS} off [OR]
	RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
	RewriteRule (.*) https://example.com/$1 [L,R=301]
</IfModule>

Daha önce olduğu gibi, bu kodu sitenizin kök .htaccess bölümüne yerleştirin. İşte yaptığı şey:

  1. mod_rewriteMevcut olup olmadığını kontrol eder
  2. HTTPS'nin kapalı olup olmadığını veya isteğin içerip içermediğini kontrol eder www
  3. Koşullardan herhangi biri eşleşirse, istek uygun olur ve https/non-wwwadrese yönlendirilir

.Htaccess köküne yerleştirildiğinde, bu teknik tüm istekleri kapsar ve siteniz için eksiksiz https / www olmayan standartlaştırma sağlar. İki örneğini example.comkendi alan adınızla değiştirmeyi unutmayın .

Not: Siteniz, index.phpistenen URL'lere eklenmesi nedeniyle yinelenen sayfalardan muzdaripse, www ve index.php'nin URL'den nasıl kaldırılacağını açıklayan WP-Mix.com'daki bu gönderiye bakın .

Https ve www'ye yönlendir

Aşağıdaki .htaccess tekniği, nitelikli istekleri web sayfalarınızın https ve www sürümlerine yönlendirir . Sitenizin kök .htaccess dosyasına ekleyin :

# Canonical https/www
<IfModule mod_rewrite.c>
	RewriteCond %{HTTPS} off
	RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
	
	RewriteCond %{HTTP_HOST} !^www\. [NC]
	RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>

Bu kod şunları yapar:

  1. İlk iki satır koşullu olarak https'ye yönlendirir. Eğer HTTPSdeğişken kapalı olarak ayarlandığında, daha sonra istek (proxy kullanarak eğer aşağıdaki notlara bakınız) https'ye yönlendirilir.
  2. İkinci iki satır www. İstek / ana bilgisayar ile başlamazsa www., istek www'ye yönlendirilir.

.Htaccess köküne yerleştirildiğinde, bu teknik tüm istekleri kapsar ve siteniz için eksiksiz https / www standartlaştırma sağlar. Bu kodla herhangi bir düzenleme gerekmez; tamamen tak ve çalıştır.

Proxy kullanılıyorsa notlar

As açıkladı Burada :

"İstemcinin HTTPS aracılığıyla bir proxy'ye, yük dengeleyiciye, Yolcu uygulamasına vb. Bağlandığı bazı proxy oluşturma biçimlerinin arkasında, %{HTTPS}değişken hiçbir zaman onyeniden yazma döngüsüne neden olabilir ve bunun nedeni uygulamanızın gerçekte düz HTTP trafiği almasıdır. istemci ve proxy / yük dengeleyici HTTPS kullanıyor olsa bile. Bu durumlarda, değişken X-Forwarded-Protoyerine başlığı kontrol edin %{HTTPS}. "

Dolayısıyla, bir tür proxy hizmeti veya benzeri kullanıyorsanız, aşağıdaki satırı yukarıdaki koda ekleyin:

RewriteCond %{HTTP:X-Forwarded-Proto} !https

Dolayısıyla, bir proxy sunucusu kullanıyorsanız nihai sonuç şu şekilde görünür:

# Canonical https/www (when using proxy)
<IfModule mod_rewrite.c>
	RewriteCond %{HTTP:X-Forwarded-Proto} !https
	RewriteCond %{HTTPS} off
	RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
	
	RewriteCond %{HTTP_HOST} !^www\. [NC]
	RewriteRule (.*) https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
</IfModule>