Nicht ganz
Mittels ^(.*)$ matched du den ganzen Request (damit hast du das File welches innerhalb von test vom Client verlangt wurde). Wenn du ( und ) einsetzt, dann kannst du auf den Inhalt mittels $1 zugreifen. Also ist es unnötig den Ordner oder das File im rewrite zu nennen
Code:
RewriteEngine on
RewriteCond %{SERVER_PORT} != 443
RewriteRule ^(.*)$ https://abyweb.at/$1 [R=301]
obiges müsste reichen. Deine Version wäre so aufgelöst worden
Code:
https://abyweb.at/Test/test/file.html
übrigens ist der Apache case-sensitive
[R=301] bedeuted die Art der Weiterleitung. Hierbei handelt es sich um eine permanente Weiterleitung (302 wäre temporär). Letztendlich entsprechen diese Zahlen den http Statuscodes die der Server als Header an den Client sendet. Ohne Angabe von R= wird der Apache eine interne Weiterleitung vornehmen. Das ist für den Client volllkommen im Hintergrund (du kannst z.B. alle Request nach html Dateien intern auf .php umschreiben). Der Client wird in der Adresszeile immer .html sehen. Das geht aber nur wenn du das gleiche Protokoll verwendest. Wenn du von http auf https umschreiben willst, musst du extern Weiterleiten
ps.
Wenn du mehrere Muster mit ( und ) matched dann gilt $1 für den ersten Treffer, $2 für den zweiten, $3 für den dritten...