Frage

Ich möchte alle Verbindungen umleiten von htt_p: //www.example.com/abc.html zu HTTP_S: //www.example.com/abc.html. Welche mod_alias oder mod_rewrite Befehle würden für diese Arbeit? Ich habe versucht:

RewriteEngine on
RewriteCond %{HTTPS} =off
RewriteRule $abc\.html^ https://www.example.com/abc.html [R]

sowohl in der .htaccess und httpd.conf, aber das funktioniert nicht. Es funktioniert, wenn der erste String in der RewriteRule ist alles andere (wie abz.html), aber nicht, wenn es abc.html. abc.html ist eine echte Datei auf dem Server (nicht eine andere Umleitung). Optionen FollowSymlinks ist in der entsprechenden Verzeichnis-Richtlinie.

Vielen Dank.

War es hilfreich?

Lösung

Etwas nach dem Vorbild der folgenden können Sie nicht-SSL-Seiten SSL-Versionen umgeleitet werden (unter der Annahme, dass Sie SSL auf Port 443 ausgeführt werden):

RewriteEngine on

# Limited redirects
RewriteCond %{SERVER_PORT} !^443$
RewriteCond %{REQUEST_URI} ^/abc\.html$ [OR,NC]
RewriteCond %{REQUEST_URI} ^/def\.html$ [OR,NC]
RewriteCond %{REQUEST_URI} ^/ghi\.html$ [NC]
RewriteRule ^/(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

Die [OR] Flagge nach dem RewriteCond ist wörtlich, dass „oder“, weshalb die letzte Bedingung hat es nicht

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top