Too many redirects

Vyřešeno110 zhlédnutíWebhosting
0

Nekonečná smyčka při přesměrování, chyba Too many redirects, rozdílné chování na dvou doménách.

Zdravím, mám dva hostingy:

  1. NoLimit Extra běžící na jedné doméně (w95.wedos.net)
  2. NoLimit běžící na druhé doméně (w32.wedos.net)

Na obou doménách jsou použity Let’s Encrypt certifikáty (příplatková služba HTTPS na doméně).

Snažím se uplatnit přesměrování na https a www doménu pomocí .htaccess souboru (v kořenovém www adresáři). Způsob přesměrování je stejný pro obě domény.

Zatímco na druhém hostingu přesměrování funguje výborně, na prvním selže na chybě Too many redirects.

Dojde korektně k přesměrování z http → https, ale pak vznikne nekonečná smyčka. V accesslogu ani v errorlogu nevidím nic zajímavého.

Proč se chování mezi hostingy liší? Jak to opravit?

# Turn on Rewrite Engine
RewriteEngine On
 # Redirect to HTTPS
RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
 # Redirect to www.
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

Role: Zákazník
Otázka je uzamčena pro nové odpovědi.
Vybral nejlepší odpověď
0

Metodou pokus – omyl jsem zjistil příčinu problému.

Na webu běží systém phpBB. Nevypadá to, že by interní nastavení domény způsobovalo cyklení – ať je nastavené jakkoliv.

Chybu způsobuje pravidlo

RewriteCond %{HTTP:X-Forwarded-Proto} !https [OR]

Bez něj přesměrování funguje, resp. stačí odebrat jen to [OR] na konci.

Problém jsem tedy vyřešil a přesměrování na https://www je funkční.

Přesto by mě zajímalo, proč na jednom serveru to pravidlo s [OR] nefunguje a na druhém ne. Nečekal jsem, že takto v podstatě jednoduchá a základní věc bude ve finále tak pracná 🙂

Role: Zákazník
Vybral nejlepší odpověď

Dobrý den,
bohužel v tomto případě neumím poradit. Třeba se k otázce dostane nějaký programátor a napíše do komentáře více informací. Prozatím otázku uzavírám.

0
27.88K - WEDOS Internet, a.s. 0 Comments

Dobrý den,

nemáte v souboru .htaccess ještě jiná pravidla, která by mohla způsobovat nějaké konflikty?

Zkuste případně i jiná pravidla, třeba tato:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{SERVER_NAME}/$1 [R=301,L]
Header set Content-Security-Policy "upgrade-insecure-requests;"
Role: Podpora Web: https://wedos.cz Vizitka: Pokusím se vám poradit s CMS.
Odpověděl na otázku
0

Pro účely testu byla v souboru jen uvedená pravidla. V minulosti jsem se setkal s obdobným problémem na druém hostingu. Tehdy byl problém způsobem použitím sdíleného WEDOS certifikátu a vyřešen byl přechodem na Let’s Encrypt.

Zde je však použit Let’s Encrypt certifikát také, tak by uplatnění pravidel nemělo nic bránit. Nevím, zda nemůže hrát roli fakt, že jsem Let’s encrypt nasadil před lety ještě předtím, než ho začal podporovat WEDOS oficiálně? Případně nějaký síťový prvek, který by u tohoto „starého“ serveru (w95.wedos.net) pracoval jinak než u „nového“ (w32.wedos.net)?

Další test provedu během následujího týdne, má to dopad na uživatele, tak se to musí naplánovat.

Role: Zákazník
Změnil status na publikováno
0
12.92K - WEDOS Internet, a.s. 0 Comments

Dobrý den,

jedná se o web vytvořený například pomocí WordPressu?

Často je tato chyba způsobena tím, že .htaccess přesměrovává na https ale v nastavení webu je stále HTTP – https://help.wedos.cz/navody/cms/zmena-url-wordpress/

Role: Podpora Vizitka: Roses are Red, Violets are Blue Unexpected '{' on line 32.
Odpověděl na otázku

Categories