Redirect http auf https

Alles, was den Apache betrifft, kann hier besprochen werden.

Redirect http auf https

Postby Emmermacher » 08. July 2021 11:19

Hallo.
Momentan habe ich ein Problem bei der Einrichtung eines Redirect von http auf https.
Hier mal die Konfig:
<VirtualHost *:80>
DocumentRoot /var/www/server
ServerName www.server.de
ServerAlias server.de
ServerAdmin administrator@server.de
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
# RewriteRule (.*) https://%{HTTP_HOST}/$1 [R,L]

<Directory "/var/www/server">
Options Indexes FollowSymLinks
# AllowOverride None
# Require all denied
Order allow,deny
Allow from all
</Directory>

ErrorLog /etc/httpd/logs/server_error.log
CustomLog /etc/httpd/logs/server_access.log anonym
</VirtualHost>

Aktuell kann ich http://server.de und http://www.server.de auf https://server.de umleiten. Sobald beim http aber einen Subfolder mit eingebe, bekomme ich einen error 404. Das habe ich bei beiden ReWrite Rules.
Wo liegt da mein Fehler? Apache ist leider kein Bereich, in dem ich täglich arbeite...

Schon mal ein Danke im Voraus an Euch für Eure Antworten :)

LG

Dirk
Emmermacher
 
Posts: 6
Joined: 11. April 2018 08:01
XAMPP version: -
Operating System: Linux

Re: Redirect http auf https

Postby Nobbie » 08. July 2021 13:10

Warum so kompliziert mit Rewrite? Und die Condition

Code: Select all
RewriteCond %{HTTPS} off


ist eine Tautologie (immer wahr), denn Du befindest Dich doch im Kontext "VirtualHost *:80" und auf Port 80 läuft nur http und nicht https. EInfach ein Redirect und fertig:

Statt

Code: Select all
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
# RewriteRule (.*) https://%{HTTP_HOST}/$1 [R,L]


einfach

Code: Select all
Redirect / https://www.server.de/


und fertig.

Die richtige URL wird beim Redirect automatisch angehängt (also bei Subfoldern und auch bei Parametern in der URL). In Deinem Code ist auch die RewriteRule falsch, die funktioniert nur bei leerer URI (genau Dein Problem), da Du nur den Anfang der URL (^) ersetzt, anstatt die ganze URL (.*). Aber wie gesagt, das ganze Rewrite Gedöns ist überflüssig, weil Du sowieso im Kontext http: bist an dieser Stelle und dann einfach ein Redirect ausreicht.

P.S:: Nur der Vollständigkeit halber, Deine RewriteRules sind beide falsch, richtig ist diese "Mischung":

Code: Select all
RewriteRule [.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]
Nobbie
 
Posts: 12117
Joined: 09. March 2008 13:04

Re: Redirect http auf https

Postby Emmermacher » 08. July 2021 13:35

Hallo nobbie.
Herzlichen Dank für Deine Antwort.
Damit habe ich es probiert - nach einem service httpd reload und löschen des Browsercaches bekomme ich immer noch einen error 404.

In der Index.php, die sich in dem Ordner befindet wird ein Redirect auf eine php Datei im Root-Ordner gemacht. Hier wird auch mit https gearbeitet.
Könnten das zuviele redirects sein? Da müsste ich unsere Entwickler bitten, das zu ändern.

LG

Dirk
Emmermacher
 
Posts: 6
Joined: 11. April 2018 08:01
XAMPP version: -
Operating System: Linux

Re: Redirect http auf https

Postby Nobbie » 08. July 2021 15:19

Emmermacher wrote:In der Index.php, die sich in dem Ordner befindet wird ein Redirect auf eine php Datei im Root-Ordner gemacht.


Zu viele glaube ich nicht, aber ein falscher irgendwie. Gehe doch mal systematisch vor und schreibe in die index.php keinen weiteren Redirect sondern nur ganz einfach eine simple "Welcome" Seite. So analysiert man Fehler, in dem man die Ursache einkreist. Wenn diese Seite richtig angezeigt wird, dann weißt Du schon mal, dass der erste Redirect richtig läuft. Wenn da schon ein Fehler auftaucht, hast Du immer noch einen Fehler in der Apache Konfiguration.

Ansonsten musst Du dann die index.php (die originale) analysieren, ob die irgendwo "in die Pampa" verweist. Ohne jeglichen Code kann das hier niemand beurteilen. Last not least kann auch noch eine .htaccess Datei da sein und auch irgendetwas veranstalten. Ein wenig irritiert mich der Satz "unsere Entwickler bitten". Dieses Forum ist NICHT dazu gedacht, Firmen kostenlosen Support anzubieten. Ich war davon ausgegangen, dass Du zu Hause Deinen PC einrichtest - das scheint ein Irrtum zu sein. Wenn Eure Firma Hilfe braucht, dann sollte sie sich professionelle Hilfe besorgen, dieses kostenlose Forum ist nur für "den kleinen Mann" gedacht, der sich natürlich keinen Support leisten kann.
Nobbie
 
Posts: 12117
Joined: 09. March 2008 13:04


Return to Apache

Who is online

Users browsing this forum: No registered users and 3 guests