Tüm http: // isteğini https: // adresine yönlendir


22

Daha önce bu soruyu yolladım: /programming/36104047/how-to-redirect-all-http-requests-to-https-on-magento ancak herhangi bir tepki alamadım.

İşte benim site URL’m: www.trendy-mode.nl sizi yönlendirecek: https://www.trendy-mode.nl/

Şimdi sorun menü bağlantısı ya da diğer alt bağlantıların https://

EX ile yönlendirilmesi değil :
Gibi bir menü var - NIEUW | KLEDING | SCHOENEN | AKSESUARLAR vs.
NIEUW menüsünü tıklarsanız, yeni bir sayfa açılacak, ancak yönlendirmeyecektir.https://

.Htaccess tweaks denedim ama işe yaramadı. Bu konuda bana yardım edecek kimse var mı?

Şimdiden teşekkür ederim!

Yanıtlar:


30

Güvenli olmayan taban URL'sini https olarak değiştirmek, tüm bağlantıları değiştirecek ve https://example.com/ (giriş sayfasını) https olmayan isteklere yönlendirecek , çünkü temel URL doğrulaması başarısız olduğunda Magento böyle yapar.

Yani bu iyi bir başlangıç ​​ama aynı zamanda http://example.com/foo/ adresini https://example.com/foo/ adresine yönlendirmek için web sunucusu yönlendirmesi ile yapmanız gerekiyor.

Örneğin, üstüne aşağıdaki kodu ekleyin .htaccess:

RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

Veya Varnish gibi ters bir proxy kullanıyorsanız:

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

Bunun nedeni, Varnish'ten Magento'ya yapılan taleplerin SSL (HTTP) olmadan gerçekleşmesi, ancak orijinal istek SSL (HTTPS) ile yapıldığında Varnish, X-Forwarded-Proto üstbilgisini "https" olarak ayarlıyor.


@Abhishek Sitenizi henüz test ettim ve henüz çalışmadığı için - Fabians talimatları yukarıda doğru .. ancak bu 2 satırın da magento kurulumunuzun kökündeki .htaccess dosyasına eklenmeli fakat en başta NOT ) ancak aşağıda belirtildiği gibi, hemen sonra RewriteEngine On. Yaptığım yöntem ikinci satırımın okuduğundan biraz farklı. RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
Peter Svegrup, 22.06

Magento sitesini tamamen https’e taşıdıktan sonra google sayfa sıralaması üzerinde olumsuz etkileri olan var mı?
paj

10

Bütünlüğü sağlamak için fschmengler'in bazı ilavelerle önerdiklerine çok benzer bir şey yapıyoruz;

RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_METHOD} !=POST
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Bunu hemen altındaki .htaccess bölümünün içine yerleştirdik. RewriteEngine On


9

Temel URL'nizi arka uçta güvenli ve güvensiz olarak ayarlayın. Kullanım sırasında evet seçeneğini, arka uçtaki ön kısımdaki güvenli URL'yi kullanın.

Ardından / etc / local.xml dosyanızı düzenleyin ve bunu ekleyin

<?xml version="1.0"?>
<config>
  <frontend>
     <secure_url>
      <all>/</all>
     </secure_url>
   </frontend>
</config>

Veya en azından XML ağacını ön tarafa yapıştırın ve config etiketleri arasına indirin.


Bu benim sorunumu çözdü. Her şeyi doğru ayarlamıştım ancak bazı URL'ler hala https yerine http kullanıyordu.
mutiemule

Belirtilen url'yi https'den http'ye yönlendirmek istiyorum. Peki bu konuda bir fikrin var mı?
Sarfaraj Sipai

5

Emin olun System > Configuration > Web > url_options > "Auto-redirect to Base URL = No". Olarak ayarlandı yesve soruna neden oldu.

.Htaccess dosyasına aşağıdaki kodu yerleştirin.

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

4

Bence en kolay yol, güvenli olmayan taban URL'sini https olarak değiştirmek olacaktır, çünkü magento tüm "güvenli olmayan" istekleri bu URL'ye yönlendirir ve bu URL ile bağlantılar oluşturur.

temel URL'yi sistem -> yapılandırma -> genel -> web altından değiştirebilirsiniz.


Tekrarınız için teşekkür ederim .. yaptım ama şimdi bu bağlantıyı açarsanız: www.trendy-mode.nl/damesschoenen/slippers sizi anasayfaya atlayacaktır. herhangi bir çözüm var mı?
Abhishek Kumbhani

hm thats garip :) Temel URL'deki sondaki eğriyi gördünüz mü? Gelecekte (ya da belki şimdi?) İlgili tüm sayfanın https kullanmasıyla alakalı olacağından, muhtemelen bu konunun gerçekten ilginç olacağını düşünüyorum. Meslektaşımdan yarın bir magento dükkanı için bu işi yaptığı için yarın sorabilirim
David Verholen

fschmengler çözümü bence çalışması gerektiğini rağmen, @Michael cevabı eğer çalışırsa bunu yapmak doğru bir yol gibi görünüyor
David Verholen

Eh, fschmenglers cevap yanlış değil. .Htaccess ve index.php 'e dokunduğu için Magentos güncelleme stratejisinden sadece sinirleniyorum, ancak local.xml dosyasını etkilemiyorum. Yani daha 'güncelleme tasarruf' imho
Michael

2

Apaçi dokümanlar yeniden yazmak kullanılmasına karşı tavsiye:

httpURL’leri yönlendirmek httpsiçin aşağıdakileri yapın:

 <VirtualHost *:80>
     ServerName www.example.com
     Redirect / https://www.example.com/
 </VirtualHost>

 <VirtualHost *:443>
     ServerName www.example.com
     # ... SSL configuration goes here
 </VirtualHost>

Bu parçacık, ana sunucu yapılandırma dosyası içine gitmeli değil içine .htaccesssöz konusu sorulduğunda olarak.

Bu makale ancak soru sorulduktan ve cevaplandıktan sonra ortaya çıkmış olabilir, ancak şu anki yolunda görünüyor.


0

Bu kodu .htaccess dosyasının en üstüne ekleyin

RewriteEngine On
RewriteCond %{HTTPS} off
# First rewrite to HTTPS:
# Don't put www. here. If it is already there it will be included, if not
# the subsequent rule will catch it.
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# Now, rewrite any request to the wrong domain to use www.
# [NC] is a case-insensitive match
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
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.