Vyvíjej vlastní projekty a expanduj do zahraničí! Jak. Přijď na 13. Affiliate konferenci v Praze
Zobrazují se odpovědi 1 až 12 z 12

HTTP -> HTTPS a správné.htaccess

  1. Rád bych se zeptal na přesměrování http na https. Na hostingu tele3.cz jsem použil Let's Encrypt SSL certifikát. Můj .htaccess vypadá takto a nevím zda jsem vše nastavil správně. Budu rád za opravy.

    Kód:
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?page=$1 [L,QSA]
    RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
    RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
    Budu rád za jakoukoli pomoc či případné vysvětlení. Děkuji

  2. Co se právě děje na Webtrhu?
    Jan Pokorný poptává: Úprava napojení na Facebook
    Pnovak32 poptává: Poptáváme programátora PHP
    Patrik Lazový poptává: Platforma Eshop Opencart
  3. RewriteCond %{HTTPS} !=on
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

  4. ja pouzivam:
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
    (pred tim mam jeste presmerovani z nonwww na www verzi domeny)

  5. Pouzivam:

    Kód:
    # Redirect non-www to https + www
    # http://machine-agency.com  becomes  https://www.machine-agency.com
    RewriteCond %{HTTP_HOST} !^www\.
    RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    # Redirect non-https to https
    # http://www.machine-agency.com  becomes  https://www.machine-agency.com
    RewriteCond %{HTTPS} off
    RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

  6. Mohl by mi někdo z vás kdo posílal příklady uvést co je na mém zápisu špatně a proč? Všiml jsem si na webu mnoho jiných verzí a tak by mě zajímalo v čem je rozdíl mezi mým zápisem a uvedenými jinými příklady.

    Děkuji

  7. ser na stupidny htaccess a letsencrypt a nahod si cloudflare :) 100x lahsie na implementaciu aj spravu + nie si viazany na svoj hosting a mozes si zmenit dns kedy a kam chces.

  8. Citace Původně odeslal node Zobrazit příspěvek
    ser na stupidny htaccess a letsencrypt a nahod si cloudflare :) 100x lahsie na implementaciu aj spravu + nie si viazany na svoj hosting a mozes si zmenit dns kedy a kam chces.
    Co má ochrana před DDoS útoky společného s HTTPS?

  9. Citace Původně odeslal Formal Zobrazit příspěvek
    Co má ochrana před DDoS útoky společného s HTTPS?
    Cloudflare dokáže dělat SSL offloading, kdy provoz od návštěvníka k CF je šifrovaný a mezi CF a serverem nemusí - Flexible SSL. Nicméně to není ideální řešení a někdy vyžaduje drobnou úpravu aplikace. O trochu lepší je použít alespoň selfsigned certifikát na serveru, aby byl provoz stále šifrovaný.

    Jednotlivé zápisy přesměrování liší především svou univerzálností, nelze říci, že je některý vyloženě špatný.

    Já používám univerzální: https://u.lynt.cz/htaccess#file-htaccess-examples-L117

    Tvůj zápis (pokud čtu dobře) neprovede přesměrování, když v doméně není www. Dále %1 se ti v budoucnu může rozbít, když přidáš další na začátek bloku RewriteCond. Pokud se před server předřadí reverzní proxy, tak přesměrování nemusí fungovat (musí se zkoumat hlavička X-Forwarded-Proto). Pokud má původní dotaz nějaké parametry za ? a rewrite by vedl také na stránku s parametry, tak se ty původní nepřenesou (QSA). Pokud by v parametrech byly nějaké speciální znaky (typicky třeba pro oauth), tak se rozbijou kvůli escapování (NE). V některých zápisech se používá test na hodnotu off v %{HTTPS}, staré verze Apache tam však nedávaly on/off, tak je lepší testovat != on - ale dnes by to už nemělo být potřeba.

  10. Vysvětlí mi někdo rozdíl funkcí v těchto dvou kódech:
    Kód:
    RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
    a
    Kód:
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    Ten první mám na webu ale nenastavoval jsem to já a ten druhý tu napsal Shopines.. Jde mi o to jestli ten můj zápis je špatný a proč? Děkuji

  11. ... nelze říci, že je ... špatný.

    %1 se ti v budoucnu může rozbít, když přidáš další na začátek bloku RewriteCond.

    %1 = použije se výraz co aktivoval první RewriteCond = v tvém případě jméno domény = %{HTTP_HOST} (víceméně)
    $1 = použije se první skupiny aktivovaného reguláru v RewriteRule = v tvém případě ^(.*)$ - cesta od začátku (^) do konce ($) = celá cesta za doménou = %{REQUEST_URI}

  12. Smitka - takže v podstatě je to to stejné jestli jsem to dobře pochopil akorát v jiném zápisu ne?

    Je tedy lepší nechat ten zápis jak je nebo ho změnit na ten druhý?

    Děkuji

  13. Ve výsledku není prakticky rozdíl. Liší se tím, jak jsou náchylné na budoucí rozbití při úpravách a v čitelnosti. Já osobně přidávám test hlavičky X-Forwarded-Proto a do parametrů NE, ale pokud současný způsob funguje, tak je to jedno.

Hostujeme u Server powered by TELE3