Autor | Zpráva | ||
---|---|---|---|
StepanMatl Profil |
Zdravím, zjistil jsem, že když zadám URL složky bez koncového lomítka:
https://www.web.cz/slozka dojde nejdřív k přechodu na: http://www.web.cz/slozka/ a až poté na: https://www.web.cz/slozka/ Jak se prosím zbavit toho zbytečného přesměrování na HTTP verzi? Děkuji. |
||
anonym_ Profil * |
#2 · Zasláno: 20. 11. 2020, 01:09:23
StepanMatl:
Chybu ve tvém přesměrováváni vyvestime z křišťálové koule? Hm, zkusím, moment.. |
||
StepanMatl Profil |
#3 · Zasláno: 20. 11. 2020, 01:24:13
RewriteEngine On RewriteCond %{HTTP_HOST} ^([^.]*)\.([^.]*)$ RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,QSA,L] RewriteCond %{ENV:HTTPS} !^.*on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] |
||
Kajman Profil |
#4 · Zasláno: 20. 11. 2020, 08:12:57
Ten přechod z https na http je divný. To by mod_dir a jeho přidání lomítka neměl dělat. Když testujete ENV:HTTPS místo HTTPS, tak tam máte asi nějakou mezivrstvu a apache už neběží na https, že? Něco jako
serverfault.com/questions/847903/apache-directoryslash-redirects-https-requests-back-to-http #vypnuti pridani lomitka adresarum DirectorySlash Off #od apache verze 2.4 asi bude potreba odkomentovat #RewriteOptions AllowNoSlash #nahrada pridani lomitka adresarum, po otestovani mozno zmenit 302 na 301 RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.*[^/])$ https://%{HTTP_HOST}/$1/ [R=302,L] |
||
StepanMatl Profil |
#5 · Zasláno: 20. 11. 2020, 13:30:12
Možná je to nějaká specialita Onebitu... Ale jste borec, stačilo přidat
RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^(.*[^/])$ https://%{HTTP_HOST}/$1/ [R=302,L] hned za RewriteEngine On a problém je vyřešen! :) Akorát když je v té složce další .htaccess, tak to nefunguje... |
||
Kajman Profil |
#6 · Zasláno: 20. 11. 2020, 14:16:48
Ale to nefungují ani ta současná přesměrovací pravidla, když máte pro podsložku upřesněná jiná pravidla, ne?
|
||
Časová prodleva: 4 roky
|
0