Zum umleiten von HTTPS-zu-HTTP für einige Seiten verwenden .htaccess
Ich bin mit URL-rewriting-problem mit .htaccess.
Habe ich umleiten alle URLs auf HTTPS außer 4-URLs. Unten ist der code in meiner .htaccess-Datei:
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_REFERER} !^https(.*)/(.*)$ [NC]
RewriteCond %{REQUEST_URI} ^/$ [NC]
RewriteCond %{REQUEST_URI} ^/?index\.php$ [NC]
RewriteCond %{REQUEST_URI} ^/?index\.php?view=default [NC]
RewriteCond %{REQUEST_URI} ^/?index\.php?view=news [NC]
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [R=301, NC, L]
# Require SSL on all other pages
RewriteCond %{HTTPS} !on
RewriteRule ^(.*)$ https://%{HTTP_HOST}r%{REQUEST_URI} [R=301, NC, L]
Ich deaktivieren müssen HTTPS für die folgenden URLs:
mydomain.com/
mydomain.com/index.php
mydomain.com/index.php?view=new
mydomain.com/index.php?view=new&abc=xyz&aaa=bbb…
mydomain.com/index.php?view=default
Für die oben genannten 5 URLs, die ich umleiten möchten, die im http, aber es funktioniert nicht. Es leitet alle URLs auf HTTPS nur.
Gibt es einen bestimmten Grund, warum Sie tun, nicht wollen, HTTPS?
ja, einige der Seiten, die ich brauche, nur http.
Ja. Wir wissen, dass Sie möchten, deaktivieren Sie HTTPS für die. Meine Frage war eher, "warum müssen Sie es deaktivieren?"
ja, einige der Seiten, die ich brauche, nur http.
Ja. Wir wissen, dass Sie möchten, deaktivieren Sie HTTPS für die. Meine Frage war eher, "warum müssen Sie es deaktivieren?"
InformationsquelleAutor Chirag Patel | 2011-07-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die RewriteCond Bedingungen wirken wie ein "und", so wird es nicht passend alle 4-Datei-Muster bei der gleichen Zeit. Eine option ist die separate Sätze von Regeln - ich mag zu tun, wenn es herauszufinden. Eine weitere option ist, um eine "oder" - Muster funktioniert.
Den querystring verarbeitet wird, in der RewriteCond, anstatt nach unten in der RewriteRule.
Ich bin mir nicht sicher, was Sie brauchte, um zu testen, auf HTTP_REFERER, also habe ich es weggelassen.
Diese trennt sich an zwei Regeln zu halten, wird es einfacher. Die erste hat den einfachen Schrägstrich oder optional index.php ohne Parameter. Die zweite überprüft den querystring für view = Standard oder neu.
Den querystring Zustand überprüft
view=default
genau, oderview=new
oderview=new&any=other...
Die optionale&.*
bedeutet, dass die nächste Sache, die ein kaufmännisches und-Zeichen oder nichts, die verhindert, dass view=new2 aus dem zusammenbringen von Fehler.Hinweis: der Benutzer kann eine browser-Warnung über das umleiten zu einer "unsicheren" Seite, wenn Sie Sie umleiten von https zu http. Redirect Warnung ist nicht eine große Sorge mehr; ich weiß nur noch, es von IE6 Tage.
Wie die Umleitung von HTTPS zu HTTP ohne störende Fehlermeldungen
EDIT:
Ich habe eine Bedingung an die erste Regel für eine leere querystring. Ich erkannte, dass war passend zu jedem querystring ohne es.
InformationsquelleAutor goodeye
War ich auch konfrontiert, dass Problem und für mich ist diese Hilfe
Müssen Sie ändern Sie den Seiten-Namen & Ihre Website-url.
InformationsquelleAutor PHP Ferrari