2016-08-14 4 views
2

Ich habe .htaccess-Datei, bestehend aus.htaccess zu viele Umleitungen in Safari

RewriteEngine on 
RewriteBase/

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

# Turn SSL on for 
RewriteCond %{HTTPS} off 
RewriteCond %{REQUEST_URI} ^/m/log 
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L] 

# Turn SSL off 
RewriteCond %{HTTPS} on 
RewriteCond %{REQUEST_URI} !^/m/log 
RewriteCond %{REQUEST_URI} !^/m/stil 
RewriteCond %{REQUEST_URI} !^/m/slike 
RewriteCond %{REQUEST_URI} !^/m/slikce 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L] 

Es läuft gut auf grundsätzlich andere Geräte außer iPhone. Wie man es repariert?

Es kommt nur auf /m/log während iPhone6 ​​verwenden, es ist in Ordnung auf dem iPhone 4. Es geschieht unabhängig davon, ob die Website über HTTP zugegriffen wird oder HTTPS oder über www oder die bloße Domäne.

+0

Welche URLs, die Sie anfragen, führen zu "zu vielen Umleitungen"? Und welche Umleitungen sehen Sie im Netzwerkverkehr? Vermutlich haben Sie den Browser-Cache gelöscht?Neugierig, noch eine neue Frage in Bezug auf zu viele Weiterleitungen in Safari Mobile nur ... http://stackoverflow.com/questions/38935962/https-causes-too-many-redirects-on-safari – MrWhite

+0

Es passiert nur auf/m/log während der Verwendung von iphone6 ​​ist es in Ordnung auf iphone 4 – Jakadinho

+0

Macht es einen Unterschied, wenn Sie "http"/"https" und/oder "www" oder blanke Domain anfordern? Wenn Sie beispielsweise "https: // example.com/m/log" (dh "https" und kein "www") angefordert haben, sollte Ihre .htaccess-Datei überhaupt keine Weiterleitung ausgeben. Wenn Sie jedoch "http: // www.example.com/m/log" (dh "http" und "www" -Unterdomain) angefordert haben, werden 2 externe Weiterleitungen ausgegeben. – MrWhite

Antwort

0

Nachdem Sie sich den Netzwerkverkehr auf der Website selbst angeschaut haben, scheint es, als hätten Sie https://example.com‌/m/log (dh die "sichere" Seite) ein paar Bilder (einschließlich favicon.ico), die zurückgeleitet werden zu http. Dies führt zu "gemischtem Inhalt" und einer unsicheren Verbindung. Einige Browser können eine Warnung ausgeben oder einfach nicht das übliche "Vorhängeschloss" anzeigen. (Google Chrome lässt das grüne Vorhängeschloss weg, hebt jedoch nur das Problem mit "gemischten Inhalten" hervor, wenn die Sicherheitsinformationen untersucht werden.) Dies muss korrigiert werden.

Wenn der Benutzeragent (dh Safari auf dem iPhone 6) versucht, dies zu korrigieren (um es zu sichern), indem er die sichere Ressource erneut anfordert, könnten Sie am Ende "zu viele Weiterleitungen" haben (a Umleitungsschleife).

Die Bilder (URLs) in Frage.

  • /slikce/smile.png (Seltsamerweise, dies auch gibt einen X-Pad: avoid browser bug Response-Header?)
  • /log/slike/1471075891/tm_13950809_10209500982108999_1789026171_o.jpg
  • /favicon.ico

Alle oben genannten URLs auf der "sicheren" HTML-Seite erscheinen, aber sie bekommen 301 umgeleitet nach HTTP nach den Regeln in Ihrer .htaccess-Datei.

(Es scheint auch, dass die HTTPS-Anfragen von Apache behandelt werden, aber die HTTP Anfragen behandelt werden durch Nginx?)

übrigens ich diesen Fehler auch zu sehen, während in Safari Ihrer Website Testen auf iOS 9 (iPad) ...

Safari kann die Seite nicht öffnen, weil zu viele Weiterleitungen aufgetreten sind.

+0

Vielen Dank, dass war wirklich hilfreich. Leider kann ich nichts über die Seite setzen, aber ich denke, ich kann es jetzt lösen. Werde morgen auf Ipad versuchen – Jakadinho

+0

Ok. Ich reparierte .htacess, also erhalte ich alle https, aber es funktioniert noch nicht auf ipad. Derselbe Fehler – Jakadinho

0

I fixiert es durch folgende Methode in Umleitung verwendet

RewriteCond %{SERVER_PORT} !^443$ 
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 

RewriteCond% {} HTTPS off

verursacht den Fehler. verwenden

RewriteCond% {SERVER_PORT}!^443 $

es zu beheben.

Verwandte Themen