2012-04-12 12 views
0

Ich möchte von http zu https auf dem gleichen Server verschieben. Alle Seiten, Dateien usw. müssen an HTTPS weitergeleitet werden, alle bis auf vier Seiten, die mit einem iFrame auf verschiedenen Websites eingebettet sind. Da https nicht in einem iframe enthalten sein kann, möchte ich diese verlassen, aber alles andere hinzufügen.301 htaccess alles umleiten, aber vorhandene Seiten

Ich spiele jetzt seit über einer Stunde mit htaccess, aber ohne Erfolg. Letzter Versuch ist unten. Aber in diesem Beispiel muss ich die Dateien selbst schreiben. Ich möchte alles, was nicht auf dem http Server existiert, nicht mehr an den https Server weiterleiten und den Rest so lassen wie es ist.

RewriteCond %{HTTPS} = off 
RewriteCond $1 !^(inschrijven-frame|inschrijven-frame2)\.php$ [NC] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ https://www.url.nl/$1 [R=301,L] 

Was getan werden muss, ist:

  1. Wenn die Datei auf http ist es zu öffnen.
  2. Wenn die Datei nicht auf http, gehe zu https, so http://www.url.com/test.php wird automatisch https://www.urlcom/test.php
  3. Seiten, die nicht auf 2 gefunden werden,
+1

** 1) ** Diese Zeile ist falsch 'RewriteCond% {HTTP} = on '- es sollte' RewriteCond% {HTTPS} = aus [NC] '** 2) sein ** Sie verwenden falsches Zeichen für OR-Regex-Logik - sollte '|' statt '|' sein. – LazyOne

+0

Danke LazyOne, hast du auch einen Vorschlag, nicht zu https zu gehen, wenn die http-Datei da ist? – mat

+0

Verwenden Sie dies: 'RewriteCond% {REQUEST_FILENAME}! -f'. Erklärung/Dokumentation ist hier: http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond – LazyOne

Antwort

0

auf https Hauptdomain de weitergeleitet werden sollte denken, dass ich ich es gelöst . Ist das okay?

RewriteEngine on 
RewriteBase/

RewriteCond %{SERVER_PORT} 443 
RewriteRule ^(page1|page2|test1|test2)\.php$1 [R,L] 

RewriteCond %{SERVER_PORT} 80 
RewriteCond %{REQUEST_URI} !^/ipage 
RewriteCond %{REQUEST_URI} !^/test 
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} 

@LazyOne Wenn Sie eine Antwort posten, kann ich sie akzeptieren.