Zur Navigation

301 Weiterleitung [14]

131 Jörg Kruse

Das leitet alle Seiten mit der Endung .html auf die Startseite der Domain www.xplus-web.de

20.10.2006 10:25

132 Daniel (Gast)

Hallo,

Folgende Ausgangslage:
die subdomain abc.beispiel.de wird auf den ornder /download umgeleitet (Eingestellt in Confixx)

Im Ordner /download liegen .pdfs die ich eben als download anbiete.

Der Nutzer gibt die URL: abc.beispiel.de ein und ist real dort:
abc.beispiel.de/download/

---------------------------------------------------------------------
Problem:
Die Nutzer sollen nur Zugriff auf die Dateien haben. Wenn er keine Datei abruft bzw. sich versehentlich dorthin verirrt soll er bei der Seite "weiterleitung.de" landen.

Welche Eintragungen muss ich in der htaccess machen (rewrite ist auch möglich).

27.01.2007 19:49

133 Jörg Kruse

Hallo Daniel,

du könntest zwei RewriteRules in die .htaccess einfügen, die nach der Dateieendung .pdf differenzieren - mit der Endung wird (intern) auf den Ordner /download weitergeleitet, ohne die Endung auf die Weiterleitungsseite:

RewriteRule ^([^/]+)\.pdf$ download/$1.pdf [L]
RewriteRule !\.pdf$ http://weiterleitung.de [R=301]

27.01.2007 20:16

134 milko

Hallo Jörg - ich habe mich jetzt erstmal angemeldet. Danke zunächst für die Hilfe. Leider funktioniert das nicht so, wie ich mir das vorstelle. ATM habe ich das noch über eine php-Datei gelöst:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://daniel-erb.de/category/sport/indoorcycling/");
header("Connection: close");
?>
Die lässt dann den Zugriff auf die pdf-Dateien zu, leitet aber bei einer indirekten Anfrage auf die angegebene Seite.

Mit Deinem htaccess-Vorschlag, den ich für mich passend abgeändert habe
RewriteRule ^([^/]+)\.pdf$ http://indoorcycling.daniel-erb.de/$1.pdf [L]
RewriteRule !\.pdf$ http://daniel-erb.de/category/sport/indoorcycling/ [R=301]
leitet er zwar zur angegebenen Seite weiter, allerdings kann ich die pdfs nicht downloaden. Es kommt dann eine 500er Fehlerseite. Was mache ich falsch?

27.01.2007 20:48

135 Jörg Kruse

So löst die Rule eine Endlosschleife aus:

RewriteRule ^([^/]+)\.pdf$ http://indoorcycling.daniel-erb.de/$1.pdf [L]

Es sollte ja intern auf den Ordner /download weiterleitzen, so wie ich es oben beschrieben hatte, dort verhindert das [^/] eine Endlosschleife:

RewriteRule ^([^/]+)\.pdf$ download/$1.pdf [L]

Allerdings hatte ich da einen Denkfehler produziert: diese Rule wird ja gar nicht benötigt, da du ja schon über Confixx intern auf den Ordner weiterleitest. Von daher sollte die zweite Rule ausreichen:

RewriteRule !\.pdf$ http://daniel-erb.de/category/sport/indoorcycling/ [R=301]

27.01.2007 21:08

136 milko

hmm...
Wenn ich in die .htaccess folgenden Eintrag schreiben
RewriteRule !\.pdf$ http://daniel-erb.de/category/sport/indoorcycling/ [R=301]
kommt bei der url: indoorcycling.daniel-erb.de/ und bei der pdf-Datei
indoorcycling.daniel-erb.de/name.pdf eine 500er Meldung.
Sorry, dass ich Dir nicht mehr Information geben kann. Mit der htaccess-Datei habe ich mich noch fast gar nicht auseinandergesetzt. *schlechtesgewissenhab*

27.01.2007 22:04

137 Jörg Kruse

Hast du Zugriff auf die Error-Log-Datei des Servers und kannst dort einsehen, was dort zu den 500er Zugriffen verzeichnet wurde?

Weiter oben in der .htaccess muss noch mod_rewrite aktiviert sein:

RewriteEngine On

# weitere Rules

RewriteRule !\.pdf$ http://daniel-erb.de/category/sport/indoorcycling/ [R=301]

Ansonsten: stehen noch andere Rules in der .htaccess, die sich vielleicht in die Quere kommen?

27.01.2007 22:18

138 milko

Ich habe nur Zugriff auf die Serverlogs die mir Confixx anbietet. Ansonsten stehen auch keine weiteren Rules in der htaccess. Es befinden sich atm nur zwei Dateien im Ordner - die index.php und eine pdf-Datei.

Evlt. fällt mir über Nacht noch etwas ein. Trotzdem erstmal vielen, vielen Dank für diese super Samstag-Abend-Service!

Schönen Restsamstag noch!

27.01.2007 22:34

139 milko

Mahlzeit!
ich hab nochmals ein paarmal herumprobiert, leider funktioniert es nicht. Nochmal zur Definition des Problems:
Der User soll, wenn er die url http://indoorcycling.daniel-erb.de eingibt auf eine dynamische Seite (http://daniel-erb.de/category/sport/indoorcycling/) meines Weblogs weitergeleitet werden.

Wenn er jedoch http://indoorcycling.daniel-erb.de/beispiel.pdf eingibt, soll er die PDF-Datei öffnen können.

Hintergrundinformation: indoorcycling.daniel-erb.de ist eine subdomain, die auf den ordner /indoorcycling des root-Verzeichnisses umgeleitet wird (eingestellt in Confixx, nicht per .htaccesss). Das Weblog liegt ebenfalls im root-Verzeichnis, allerdings in einem anderen Ordner. Die domain www.daniel-erb.de wird auf den weblog-Ordner umgleitet (Ebenfalls ohne .htaccess).

Vielleicht wird jetzt noch einmal die Ausgangssituation und meine Wunschvorstellung klarer. ATM funktioniert es über eine php-Datei. Ich möchte das aber über eine .htaccess Datei machen, da dies besser ist, als mit der php-Datei.

28.01.2007 11:42

140 Jörg Kruse

Ich habe die obige RewriteRule auf meinem Webspace getestet und sie bewirkt das, was du beschrieben hast, siehe folgende URLs:

http://test-2.joergkrusesweb.de/
http://test-2.joergkrusesweb.de/test.pdf

Dass die RewriteRule bei dir eine 500 auslöst, wird möglicherweise an der Serverkonfiguration liegen. Funktioniert mod_rewrite ansonsten bei dir einwandfrei?

28.01.2007 12:45 | geändert: 28.01.2007 12:46