.htaccess špatný redirect při vynuceném HTTPS

.htaccess špatný redirect při vynuceném HTTPS
« kdy: 18. 03. 2021, 18:02:54 »
Ahoj kamarádi,

na úvod připnu screen struktury mého adresáře s web projektem.


V .htaccess v kořenovém adresáři, tedy v -www je následující kód.
Kód: [Vybrat]
RewriteEngine on

# REDIRECT WEB PROJECT TO "public" FOLDER
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/$1 [L]

# REQUIRE HTPP"S"
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule ^.*$ https://%{HTTP_HOST}%{REQUEST_URI} [L,QSA,NE]
Header set Content-Security-Policy "upgrade-insecure-requests;"

A v tom druhém o složku dále, tedy v -www --public je další .htaccess, kde je následující
Kód: [Vybrat]
RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1 [L,QSA]

K problému. Když přistoupím přímo na web https://domena.cz (httpS) tak se vše zobrazuje v pořádku. Načte se má home page šablona.

Když ale jdu na http bez s na konci, tedy http://domena.cz/ web mne sice v pořádku přesměruje na httpS ale ještě do public, tedy na https://domena.cz/public/ a to mi potom prohlížeč hodí 404 not found.

Prosím, pomůžete mi upravit .htaccess tak, aby přesměrovával na httpS ale ne až do public? Děkuji moc.


Re:.htaccess špatný redirect při vynuceném HTTPS
« Odpověď #1 kdy: 18. 03. 2021, 18:43:12 »
Tak jsem to vyřešil. Problém vůbec nesouvisel s http nebo https ale s tím, jestli jste zdali www nebo bez www. Přidal jsem kód pro přesměrování na www následujícím kódem
Kód: [Vybrat]
RewriteCond %{HTTP_HOST} ^domena\.cz [NC]
RewriteRule ^(.*)$ https://www.domena.cz/$1 [L,R=301]
a vše funguje jak má :)

Re:.htaccess špatný redirect při vynuceném HTTPS
« Odpověď #2 kdy: 19. 03. 2021, 07:52:05 »
A proc ten redirect resite na urovni htaccess a nenastavite to primo v konfiguraci virtualhosta?