https auf Verzeichnis anwenden

Status
Für weitere Antworten geschlossen.

Mexx

Benutzer
Mitglied seit
27. Aug 2007
Beiträge
553
Punkte für Reaktionen
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
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
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 ;)
 

Mexx

Benutzer
Mitglied seit
27. Aug 2007
Beiträge
553
Punkte für Reaktionen
0
Punkte
42
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:

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
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:

Mexx

Benutzer
Mitglied seit
27. Aug 2007
Beiträge
553
Punkte für Reaktionen
0
Punkte
42
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
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Btw: Was willst du mit der Location Angabe erreichen?
 

Mexx

Benutzer
Mitglied seit
27. Aug 2007
Beiträge
553
Punkte für Reaktionen
0
Punkte
42
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
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
@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
 

Mexx

Benutzer
Mitglied seit
27. Aug 2007
Beiträge
553
Punkte für Reaktionen
0
Punkte
42
jetzt bekomme ich error 403 , also Zugriff verboten, hab aber in der htaccess nur das von dir stehen, sonst nix !
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
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.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
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
 

Mexx

Benutzer
Mitglied seit
27. Aug 2007
Beiträge
553
Punkte für Reaktionen
0
Punkte
42
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