SSL .htaccess - Einfach Q.

Nov 13 2020

Ich hasse diese Datei wirklich ... Ich habe gerade 6,5 Stunden damit verbracht, dies herauszufinden und mit meiner ADHS-Legasthenie ist es einfach unmöglich !! Ich habe eine Domain, für die ich SSL gekauft habe (derzeit muss ich warten, bis die SSL für das WWW aktiviert wird, aber im Moment funktioniert die Domain ohne WWW zum Beispiel:

https://tomas.com

Der .htaccess, den ich in root habe, ist derzeit:

RewriteEngine On
RewriteCond %{HTTP_HOST} tomas\.com [NC]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://tomas.com/$1 [R,L]

Und der obige Code aktiviert tatsächlich SSL, was gut ist. Die Sache ist, ich habe ein paar Dateien in der Root-Domäne, aber eine davon heißt:

hello.php (befindet sich unter: "tomas.com/hello.php")

Wenn ich gehe zu: http://tomas.com/helloIch möchte, dass diese Datei angezeigt wird (und in der Adressleiste sollte "http://tomas.com/hello" stehen). Vor dem SSL hatte ich diesen Code unten und es funktionierte (aber nicht mehr):

RewriteRule ^([^/]*)/?(.*)$ $1.php

Irgendeine Idee, wie der gesamte .htaccess aussehen soll? : /

Gleichzeitig versuche ich, es zu zwingen, www nicht zu verwenden (wenn dies der Fall ist, sollte es auf eine Nicht-WWW-URL umgeleitet werden). Vielen Dank im Voraus !!!!!!!!!!!!

Antworten

1 MrWhite Nov 14 2020 at 03:02

Vor dem SSL hatte ich diesen Code unten und es funktionierte (aber nicht mehr):

RewriteRule ^([^/]*)/?(.*)$ $1.php

Ich bin mir nicht sicher, wie das vorher "funktioniert" hat, es ist nicht vollständig und macht mehr, als einfach eine .phpErweiterung anzuhängen . Sie benötigen etwas, um eine Umschreibeschleife zu verhindern, da diese hello.phpauch dem Muster entspricht ^([^/]*)/?(.*)$.

Versuchen Sie stattdessen Folgendes, nachdem Sie HTTP zu HTTPS umgeleitet haben.

RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule (.*) $1.php [L]

Dies überprüft zunächst, ob die Datei mit einer .phpDateierweiterung vorhanden ist, bevor sie intern neu geschrieben wird.

Alternativ können Sie stattdessen einfach MultiViews aktivieren, wenn Sie keine andere URL neu schreiben. Zum Beispiel oben in Ihrer Datei:

Options +MultiViews

Dies verwendet mod_negotiation, um grundsätzlich erweiterungslose URLs für alles zu aktivieren !