RewriteRules in .htaccess

hehejo

hehejo

blöder Purist
Hallo Kenner von mod_rewrite,

ich habe ein "Problem" mit dem folgenden Ruleset.
Alles vor "#to https" und nach "# für Ruby on Rails" ist nicht von Relevanz - ist nur der Vollständigkeit halber.

Was ich machen möchte (und was mit "#to https" auch geht):
Die URLs /register und /login sollen auf https umgeleitet werden.
Darum kommt nach der Regel auch ein [QSA, L].
QSA := Am Request können noch Parameter hängen; Beim Umschreiben übernehmen
L := Das ist die letze Regel. Nichts mehr umschreiben.

Also "#to https" funktioniert prächtig.
Wenn dir URL auf /register oder /login "passt", dass wird geprüft ob der ServerPort != 443 ist. Wenn ja, dann wird auf https umgeschrieben.

Jetzt möchte ich aber, dass NUR /register und /login per https gemacht werden und der Rest wieder normal per http.

Also dachte ich, dass ich eine Regel schreibe, die alles wieder auf http umschreibt. Aber nur, wenn der ServerPort == 433 und die URL nicht auf /register oder /login passt.

Aber das geht nicht. Entweder passiert nix oder es kommt der Fehler, dass die Seite sich ewig weiterleitet. Aufjeden Fall ist's recht komisch.

Hat ein mod_rewrite-Kenner einen Tipp für mich?

Code:
AddHandler fcgid-script .fcgi
AddHandler cgi-script .cgi

RewriteEngine On

# to https
RewriteCond %{SERVER_PORT} !^443$
RewriteRule (^register$|^login$) https://www.hehejo.de%{REQUEST_URI} [QSA,L]

# to http
RewriteCond %{SERVER_PORT} ^443$
RewriteCond %{REQUEST_URI} !(^register$|^login$)
RewriteRule (.*) http://www.hehejo.de%{REQUEST_URI} [QSA]

# für Ruby on Rails
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]

ErrorDocument 500 "<h2>Application error</h2>Rails application failed to start properly"
 
Zuletzt bearbeitet:

Ähnliche Themen

NGINX bietet intern abgerufene Seiten nur zum Download an, extern geht's

Nginx als Reverse Proxy für Nextcloud und Emby

htaccess, Weiterleitung mit www und ohne www

Aura for PHP Konfigurationsproblem

RewriteRules für ViurtualHosts

Zurück
Oben