johla
2018-12-27, 05:54:18
Wie stelle ich in einer .htaccess mit mod_rewrite am einfachsten ein, dass
1. alle http-Anfragen auf https umgeleitet werden (von allen Unterseiten)
2. dass alle Anfragen nach http[s]://[www.]meinewebsite.de[/index.html] auf https://www.meinewebseite.de (für die Hauptseite)
umgeleitet werden?
Momentan sieht mein Code so aus:
RewriteEngine On
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://www.meinewebsite.de/$1 [R=301]
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301]
RewriteCond %{REQUEST_URI} /index\.html$
RewriteRule (.*?)(index\.html)?$ https://www.meinewebsite.de/$1 [NE,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [R=301,L]
Das kann man bestimmt besser machen.
Die erste Rule ist für 1., die zweite Rule macht https und www. hin und die dritte soll eine URL, die mit /index.html endet, abschneiden. Die vierte Regel entfernt ein / am Ende.
Ich habe mal https://wiki.selfhtml.org/wiki/Webserver/mod_rewrite gelesen und daher die "L" entfernt.
1. alle http-Anfragen auf https umgeleitet werden (von allen Unterseiten)
2. dass alle Anfragen nach http[s]://[www.]meinewebsite.de[/index.html] auf https://www.meinewebseite.de (für die Hauptseite)
umgeleitet werden?
Momentan sieht mein Code so aus:
RewriteEngine On
RewriteCond %{SERVER_PORT} !=443
RewriteRule ^(.*)$ https://www.meinewebsite.de/$1 [R=301]
RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS}s ^on(s)|
RewriteRule ^ http%1://www.%{HTTP_HOST}%{REQUEST_URI} [R=301]
RewriteCond %{REQUEST_URI} /index\.html$
RewriteRule (.*?)(index\.html)?$ https://www.meinewebsite.de/$1 [NE,R=301]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [R=301,L]
Das kann man bestimmt besser machen.
Die erste Rule ist für 1., die zweite Rule macht https und www. hin und die dritte soll eine URL, die mit /index.html endet, abschneiden. Die vierte Regel entfernt ein / am Ende.
Ich habe mal https://wiki.selfhtml.org/wiki/Webserver/mod_rewrite gelesen und daher die "L" entfernt.