Přesměrování Drupalu na www a https konečně jednoduše a modulem

Web by měl běhat na jediné adrese. Vyberete si variantu s www nebo bez ní a tu opačnou na ni přesměrujete. Podobně by dnes všechny weby měly být přesměrované na zabezpečenou https variantu. Stále to řešíte editací .htaccessu? Nemusíte.

Co si budeme říkat, každý web má vlastně čtyři různé adresy, na kterých se teoreticky otevře, aniž byste se o to nějak snažili. Dvě varianty nám dá přítomnost nebo absence www v url. Další dvě potom kombinace s klasickým http nebo zabezpečeným https protokolem.

Pokud váš hosting umožňuje i dočasnou adresu, ujistěte se, že máte nastaven v Drupalu Trusted Host Pattern a povolenou jen hlavní doménu. Dříve, než vyhledávač začne indexovat web na té dočasné adrese. Viz info v knize 333 tipů a triků pro Drupal 9

Abyste zabránili tomu, že se web otevře na různých kombinacích URL adresy, už třeba kvůli vyhledávačům a jejich posuzování duplicitního obsahu na více URL, tak pravděpodobně v Drupalu měníte soubor .htaccess. 

Dělá se to tak od doby, co je Drupal Drupalem. Ve spoustě komentářů na začátku souboru najdete i vzor, jak přesměrovat www variantu na non-www variantu, případně obráceně. 

Co se týče přesměrování na zabezpečený protokol https, k tomu nápovědu ve výchozí podobě souboru nenajdete. Já používám následující řádky, které mi kdysi dávno poradili na Active24. Zpětně díky. Stačí je dát na začátek souboru .htaccess: 

RewriteEngine On 
RewriteCond %{HTTPS} !on 
RewriteCond %{HTTP:X-Forwarded-Proto} !=https 
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA,NE] 

Řešení je perfektní, http adresy přesměruje 301 redirektem na jejich podobu s https. 

Ideální je, když se o toto stará hosting nebo server a nemusíte se tím v Drupalu už vůbec zabývat. Například Virtualmin, který používám pro správu webů, toto umí jedním zatrhovátkem. 

.htaccess se vám v Drupalu často přepíše

Problém je, když si soubor .htaccess upravíte vlastním nastavením a nastane čas Drupal aktualizovat. 

  • Na klasickém hostingu byste měli sledovat, jestli aktualizace mění .htaccess. Pokud ano, své změny zpětně zaneste do nového. Jinak jej stačí prostě nepřepisovat. 
  • U webu rozjetého přes Composer vám bohužel scaffolding .htaccess vždy přepíše aktuální výchozí verzí. 

Většinu webů s Drupalem už mám rozběhnutou pomocí Composeru a protože změny do .htaccessu dělám dost často i větší než jenom doplnění redirektů, používám patch, který se po aktualizacích v Composeru spustí a provede potřebné úpravy do čerstvého souboru. Viz článek Jak zabránit přepisování robots.txt a .htaccess při aktualizaci Drupalu přes Composer

Přesměrování v Drupalu i bez úprav .htaccessu

Loni na podzim se objevil možná zbytečně přehlížený modul HTTPS and WWW Redirect. Ten totiž zajistí přesměrování na požadovanou verzi webu bez nutnosti editace jakéhokoli konfiguračního souboru. 

Jasně, můžeme teoreticky řešit, jestli je rychlejší redirekt instrukcí pro webserver předtím, než se spustí Drupal (což tedy je) nebo řešení, kdy si přesměrování dělá až spuštěný Drupal. Ale tam, kde web běží z klasické instalace a bez Composeru je to prostě skvělá vychytávka. 

HTTPS and WWW Redirect

Při dalších aktualizacích už nebude třeba řešit, zda se vám .htaccess přepsal nebo ne. Tedy minimálně kvůli přesměrování.

Tip: Potřebujete-li poslat návštěvníky z jedné domény na druhou, mrkněte se na návod, jak přesměrovat doménu s využitím služby Redirect.Host.

Tagy

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Komentáře k článku

návštěvník

Dobry den , prosim chtel bych poradit , jakmile prepisu v D7 soubor httaaces sice stranky https ale rozhodi se mi vzhled a tudiz jsou stranky nepouzitelne :( tudiz predpokladam nefunguji spravne kaskadove styly :( byl bych rad za kazdou radu , dekuji

Přidat komentář

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Poslední komentáře
Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

@maxiorel na Twitteru

Maxiorel na Twitteru