HTTP'yi aynı httpd'de HTTPS'ye yeniden yönlendirmek için?


10

İşte ne var:

  • CentOS 5.4 (32 bit)
  • yüklü Apache httpd (Sunucu sürümü: Apache / 2.2.11 (Unix))
  • mod_rewrite zaten mevcut

Soru: nasıl basit yönlendirmek için http://site.com için https://site.com değil VirtualHost tanımlarınızı kullanarak?

Not: SF ile ilgili daha sonraki cevaplarda bulmaya çalıştı, ancak hoş bir çözüm bulamadı.

Teşekkürler.

Yanıtlar:


9
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

2
RewriteRule ^(.*) https://%{HTTP_HOST}$1bana daha mantıklı geliyor.
cregox

Üzerindeki o sonsuz döngü olmaz mı?
Ernest Mueller

Hayır, sadece test ettim. Dokümanlar altında nasıl tavsiye edildiğini bile - sonuna bakın.
cregox

1
Bu komutları .htaccess'ime eklediğimde Heroku üzerinde dağıtılan Apache 2.4.10'u kullanarak sonsuz bir döngü alıyorum. Ve Cawas tarafından önerilen varyant garip bir şekilde URL'mi yönetiyor. Farklı bir komut seti denedim: RewriteCond %{HTTP:X-Forwarded-Proto} !httpsve RewriteRule ^/?(.*) https://%{SERVER_NAME}%{REQUEST_URI}- Chrome ve Firefox'ta çalışıyor, ancak Safari ve Opera'da başarısız oluyor. İlginç bir şekilde, yukarıdaki üç satırı alıp atlamıyorsam, RewriteEngine Onartık sonsuz döngüyü alamıyorum, ancak yine de Safari ve Opera'da başarısız oluyor (ve Chrome ve Firefox'ta çalışıyor).
Purplejacket

2

Dizine göre mod_alias ve Redirect kullanabilirsiniz . Bağlantılı belge ek ayrıntıları tanımlar.

<Directory /path/to/site>
   Redirect /service https://foo2.example.com/service 
</Directory>
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.