.htaccess IOS (safari?) too many redirects

Programovacie jazyky, rady, poradňa...
DeeJay3
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 254
Registrovaný: 22 dec 2008, 19:45
Kontaktovať používateľa:

.htaccess IOS (safari?) too many redirects

Príspevok od používateľa DeeJay3 »

Cavte,
prosim vas, stretli ste sa s tymto? Stranka bezala v pohode. Vcera som zakupil SSL certifikat. Potreboval som upravit htaccess aby stranku z "http" presmerovavalo na "https" s tym, aby ostalo zachovane aj presmerovanie z "bez www" na "s www". Po zmene htaccess suboru dostavam na apple zariadeniach hlasky safari: "safari cannot open page too many redirects", chrome: "ERR_TOO_MANY_REDIRECTS"
iphone SE, ipad air a dalsie iphony a ipady

htaccess pred SSL certifikatom:

Kód: Vybrať všetko

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond $1 !^(index\.php|robots\.txt)

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
htaccess po instalacii SSL:

Kód: Vybrať všetko

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

RewriteCond $1 !^(index\.php|robots\.txt)

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
ak si dam stranku zkontrolovat napriklad cez

Kód: Vybrať všetko

http://www.redirect-checker.org/index.php
tak stale, staaaale tam je iba dvojity scenar:
1. bud 301 moved permanently a potom 200 OK
2. alebo hned 200 OK

to znamena maximalne dve presmerovania. Nechapem co to ma znamenat a neviem sa pohnut dalej. Vdaka za kazdu radu.
Michaelo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6177
Registrovaný: 16 júl 2008, 20:29
Bydlisko: Pri PC
Kontaktovať používateľa:

Re: .htaccess IOS (safari?) too many redirects

Príspevok od používateľa Michaelo »

presmeruj to rovno na www verziu a daj to nad prvy derirrect...

Kód: Vybrať všetko

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
Ja osobne pouzivam tento kod:

Kód: Vybrať všetko

RewriteCond %{SERVER_PORT} 80 [OR]
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.web.com/$1 [L,R=301]
DeeJay3
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 254
Registrovaný: 22 dec 2008, 19:45
Kontaktovať používateľa:

Re: .htaccess IOS (safari?) too many redirects

Príspevok od používateľa DeeJay3 »

podla tvojho prikladu ak pride pouzivatel na adresu s www. v tom pripade ma ten prvy redirect presmeruje na https://www.www. pretoze premenna HTTP_HOST uz www. obsahuje

kazdopadne nechapem co s tym je .. ved stale sa pouzije iba jeden z tych redirectov

tvoj kod nemozem pouzit pretoze tento htaccess sa pouziva pre viacero domen preto chcem aby to bolo dynamicke bez toho aby som tam na tvrdo pisal nazov domeny
Michaelo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6177
Registrovaný: 16 júl 2008, 20:29
Bydlisko: Pri PC
Kontaktovať používateľa:

Re: .htaccess IOS (safari?) too many redirects

Príspevok od používateľa Michaelo »

Ano, o tom www.www.www.www viem. Musel by si ho odstranovat...

Skus dat za tie dva redirrecty toto:

Kód: Vybrať všetko

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
DeeJay3
Light Star
Light Star
Používateľov profilový obrázok
Príspevky: 254
Registrovaný: 22 dec 2008, 19:45
Kontaktovať používateľa:

Re: .htaccess IOS (safari?) too many redirects

Príspevok od používateľa DeeJay3 »

nechce sa mi tomu verit .. ked som zmenit kod na tento tak to funguje .. WTF?

Kód: Vybrať všetko

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]

RewriteCond %{SERVER_PORT} 80 <------ tuto podmienku som zmenil podla tvojho kodu
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

RewriteCond $1 !^(index\.php|robots\.txt)

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
Michaelo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6177
Registrovaný: 16 júl 2008, 20:29
Bydlisko: Pri PC
Kontaktovať používateľa:

Re: .htaccess IOS (safari?) too many redirects

Príspevok od používateľa Michaelo »

Tjn, ja som tiez mal kedysi problemy s %{HTTPS} a po prejdeni na kontrolu portu to fungovalo fajn vsade. Akurat som si na to nespomenul az kym si nenapisal, kedze to bolo tak pred 3 ci 4 rokmi :D
Napísať odpoveď