Přesměrování no-https domény na https

Úvodní stránka Fórum podpory WordPressu Hosting a WordPress Přesměrování no-https domény na https

Zvolené téma obsahuje celkem 4 odpovědi. Do diskuze (3 účastníci) se naposledy zapojil uživatel  odis7 a poslední změna je stará 6 let, 6 měsíců.

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (z celkem 5)
  • Autor
    Příspěvky
  • #32604

    Azifaral
    Participant
    Web

    Zdravím,

    mám následující problém. Mám web na doméně https://www.moje-domena.cz a klient má ještě jako ochranu proti spekulantům zaregistrovanou doménu www.mojedomena.cz (zde ovšem už bez https certifikátu. Webhosting mám na Forpsi, kde se to nasměrování 2 stejných domén řeší pomocí aliasu, nicméně já doménu www.mojedomena.cz nechci mít jako alias, ale chtěl bych na ni nastavit podmíněné přesměrování (RewriteRule R=301), optimálně v .htaccess.

    RewriteCond %{HTTP_HOST} ^(www\.)mojedomena.cz [NC]
    RewriteRule ^(.*)$ https://moje-domena.cz/$1 [R=301,L]

    Pokud by ta doména www.moje-domena.cz byla bez https tak by to fungovalo, ale s tím https to nefunguje, respektive mám podezření, že když tu doménu www.mojedomena.cz nastavím jako alias, tak on má tendence jít na https a tam samozřejmě pro tu doménu není certifikát.

    Řešil jste toto už někdy někdo? Už se s tím trápím pár dnů a mám pocit, že i na Forpsi jsou z toho trochu vedle.

    #32605

    Azifaral
    Participant
    Web

    Dobrý den,

    tak jsem ještě zkusil googlit a našel jsem snad funkční řešení a to toto. Pro přesměrování na https se používá toto:

    RewriteEngine on
    RewriteCond %{HTTPS} off
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    a tady https://docs.acquia.com/article/redirecting-traffic-between-http-and-https-acquia-cloud jsem našel tipy na různé přesměrovačky týkající https a tam je jedna věc, že když chci přesměrovat veškerý traffic na www SSL doménu, tak by se měl přidat parametr

    RewriteCond %{HTTP_HOST} !^www\. [NC]

    Takže výsledně je to takto:

    RewriteEngine on
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    a zatím se zdá že to funguje. Tedy asi nefunguje mojedomena.cz bez www, ale to už fakt zatím nevím :D

    #32631

    admin
    Keymaster
    Web

    Takže to už funguje? :-)

    Pokud nastavíte HTTP doménu jako alias HTTPS domény, tak se bude snažit načítat certifikát, který ale patrně nebude povolen pro tuto doménu (asi by šel ale certifikát povolit i pro tuto druhou doménu, zejména pokud jde o LE).

    Jak řešíte přesměrování a kde ho máte nastavené? Někde v administraci Forpsi? Nebo máte i pro HTTP doménu zprovozněný hosting a tam klasický soubor .htaccess?

    #32667

    Azifaral
    Participant
    Web

    No zatím se to tváří, že to funguje. Mám to udělané tak jak jsme popisoval výše. Webhosting je na Forpsi na doméně https://www.zdravi-liftea.cz a klient má ještě doménu http://www.zdraviliftea.cz a obě domény mají stejný A záznam. Doména http://www.zdraviliftea.cz je vedena jako alias k mateřské doméně, ale to samozřejmě naráží na to, že jedna doména SSL certifikát má a druhá ne, takže alias jako takový na té doméně http://www.zdraviliftea.cz u toho webhostingu nefunguje. A pak jsem si hrál s RewriteRule v .htaccess souboru, kdy jsem se snažil přesměrovat tu doménu. A jediné co zabralo je to řešení, které popisuji výše. Asi šlo udělat někde webhosting, nejlépe zdarma na HTTP doménu a tak udělat přesměrování, ale říkal jsem si, že toto je takové čistější řešení, nemluvě o tom, že by se samozřejmě mohlo stát, že by člověk měl více domén, které přesměrovává a pak to řešit na úrovni “desítek” webhostingů je tady dost fujtajblík.

    Samozřejmě pokud někdo budete mít lepší řešení, tak sem s tím, protože i když to funguje, tak mám takový pocit, že to není úplně dokonalé.

    #33624

    odis7
    Participant

    Za 1. díky za skript, protože jsem řešil stejný problém a za 2. já jsem oddělal z řádku …RewriteCond %{HTTP_HOST} !^www\. [NC]…. vše za střížkou…..RewriteCond %{HTTP_HOST} !^…. a funguje mi to skvele i bez www.
    zapis htacces vrsek:

    RewriteEngine On

    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP_HOST} !^
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    # ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
    # .htaccess automaticaly generated by PrestaShop e-commerce open-source solution

Aktuálně je na stránce zobrazeno 5 příspěvků - 1. až 5. (z celkem 5)

Pokud chcete odpovědět na toto téma, musíte se nejdříve přihlásit.

WordPress – novinky, návody a zajímavosti