https auf Verzeichnis anwenden

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

Mexx

Benutzer
Registriert
27. Aug. 2007
Beiträge
553
Reaktionspunkte
0
Punkte
42
Sagt mal man kann ja im DSM bei den Webdiensten "HTTP-Verbindungen automatisch zu HTTPS umleiten" aktivieren

was macht dies genau, mir geht es darum das gewisse Seiten oder Ordern nur als https://****/**** sich öffnen lassen !

was muss ich da machen ? THX
 
Da gibt es verschiedene Möglichkeiten, je nachdem ob du das für ganze Verzeichnisse oder nur einzelne Dateien machen willst.
Mittels einer htaccess Datei und mod_rewrite kannst du den Zugriff auf ein ganzes Verzeichnis auf https "umschreiben". Wenn es nur um eine einzelne php Datei geht, dann kannst du am Anfang dieser Datei eine Prüfung einbauen und auf https umleiten falls nötig
Eine htaccess Umschreibung könnte so ausschauen
Code:
RewriteEngine on
RewriteCond %{SERVER_PORT} != 443
RewriteRule ^(.*)$ https://deineDomain.tld/$1 [R=301]
sorry Titel nicht gelesen. du brauchst htaccess ;)
 
du meinst einen .htaccess Datei, die hab ich schon

was muss ich dann eingeben wenn ich zb. den Ordner /volume1/web/test/ als https haben will ?


Rich (BBCode):
RewriteEngine on
RewriteCond %{SERVER_PORT} != 443
RewriteRule ^(.*)$ https://abyweb.at/Test/$1 [R=301]

würde das so stimmen

und was in [R=301]
 
Zuletzt bearbeitet:
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...
 
Zuletzt bearbeitet:
muss leider nochmal quälen, ich habe ge googelt und ge googelt, es gibt einfach zu viele Infos für das erzwingen von https, das mich das total verwirrt, leider funkt es noch immer nicht.

Ich will das alles im Ordner /volume1/web/test nur über https aufrufbar ist, also alle *html; *htm, und *php files

daher habe ich in der htaccess, die auch im Ordner test liegt, folgendes eingetragen:

<Location /test> RewriteEngine on RewriteCond %{SERVER_PORT} != 443 RewriteRule ^(.*)$ https://abyweb.at/$1 #[R=301] </Location>

wenn ich jetzt aber www.abyweb.at/test/index.htm aufrufe

bekomme ich
attachment.html


https selbst habe ich auf der DS aktiviert und es funktioniert auch wenn ich was aufrufe , nur der Ordner test will nicht

bin am verzweifeln, bitte kann mir wer eine .htaccess erstellen so das ich die nur noch reinkopieren muss und es funkt, danke
 
Btw: Was willst du mit der Location Angabe erreichen?
 
ja die htaccess liegt im Verzeichnis test

wenn ich jetzt http://www.abyweb.at/test/index.htm aufrufe, bekomme ich eben das die Seite nicht gefunden wurde

was ich damit erreichen will ist das zb. die Verzeichnisse, wo ich per Passwort rein muss (.htaccess) nicht mehr als http:// aufgerufen werden, wegen der Klartext Übertragung im Lan, daher soll alles was im ordner XYZ liegt nur als https:// aufrufbar sein

so wie hier zb: https://www.abyweb.at/test/index.htm
 
@Mexx
Sorry war mein Fehler. Ist halt ne htaccess Datei und keine PHP Datei. Anbei der Code wie er funzt
Code:
RewriteEngine On
RewriteCond %{SERVER_PORT} !443$
RewriteRule ^(.*)$ https://abyweb.at/$1 [R=301]
Der Vergleich in einem RegExp geht mit ! und nicht mit != wie in meinem Beispiel. Ebenfalls darf zwischen dem ! und dem Port kein Leerzeichen sein.
Das müsste jetzt aber klappen ;)

Gruss

tobi
 
jetzt bekomme ich error 403 , also Zugriff verboten, hab aber in der htaccess nur das von dir stehen, sonst nix !
 
Ein 403-er dürfte nicht von dieser htaccess Datei herkommen. Ein Fehler in der htaccess Datei gibt entweder eine unendliche Weiterleiterei oder einen 500-er Serverfehler.
Ich habe jetzt genau den Code genommen und in meine htaccess Datei eingebaut und siehe da ich lande mittels https bei dir auf dem Server. Der Code funzt.
 
Dann hast du irgendwo nochmals eine htaccess Datei, die auf das Verzeichnis Einfluss hat. Der Fehler kommt definitiv nicht vom Redirect in der htaccess Datei. Irgendwo wirst du ne htaccess Datei mit PW Abfrage haben
 
also ich habe im root Verzeichnis von web eine liegen, da sind aber nur die Fehlerseiten drinnen, mehr nicht und wenn ich diese im root lösche, kommt wieder die anzeige das die Seite nicht gefunden werden konnte
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat