fraenky
Goto Top

Bildzugriffe konfigurieren

Hallo zusammen.
Ich möchte serverseitig konfigurieren, das alle Zugriffe auf Bilder mit der Endung .gif in belibiger Ordnertiefe umgeleitet werden auf das Wurzelverzeichnis /bilder .
Kann mir jemand sagen, wie eine entsprechende .htaccsess-Datei aussehen sollte?

Hallo zusammen.

Ich möchte serverseitig konfigurieren, das alle Zugriffe auf Bilder mit der Endung .gif in belibiger Ordnertiefe umgeleitet werden auf das Wurzelverzeichnis /bilder .

Kann mir jemand sagen, wie eine entsprechende .htaccsess-Datei aussehen sollte?

Dank und Gruß

Fraenky

Content-Key: 137780

Url: https://administrator.de/contentid/137780

Printed on: April 19, 2024 at 06:04 o'clock

Member: Fraenky
Fraenky Mar 09, 2010 at 22:32:26 (UTC)
Goto Top
Hallo.

Ich habe also eine .htaccsess-Datei angelegt mit folgendem Inhalt:

RewriteEngine On
RewriteBase /bilder
RewriteRule */*.gif *.gif

in der Hoffnung, das alle Anfragen nach gif-Dateien nach /bilder/name.gif umgeleitet werden.

Funktioniert so leider nicht.

Options FollowSymLinks
AllowOverride All
in /etc/apache2/default-server.conf sind so für den Webordner eingestellt.

Kann jemand weiterhelfen?

Gruß

Fraenky
Member: Arano
Arano Mar 09, 2010 at 23:55:07 (UTC)
Goto Top
Hallo Fraenky,

damit könnte es funktionieren:
Ungetestet
RewriteCond    %{REQUEST_FILENAME}    !^/bilder
RewriteRule    ([^/]*)\.gif$          /bilder/$1.gif
Die erste Anforderung (RewriteCond) an die Anfrage ist: Das sie nicht mit "/bilder" beginnen darf, sonst würde ja eine Endlosschleife entstehen.
Die zweite und das eigentliche umschreiben: 1. Sie muss auf ".gif" enden und zweitens, in dem Namen davor darf kein Slash vorkommen.
So hoffe ich Anfragen wie http.servername/bild.gif aber auch http.servername/ordner/ordner/bild.gif berücksichtigt zu haben... wie gesagt, ist ungetestet *g*
http://www.regular-expressions.info

Viel Erfolg
~Arano
Member: Fraenky
Fraenky Mar 10, 2010 at 23:44:57 (UTC)
Goto Top
Hallo.

Danke für die schnelle Antwort.

Sieht ja alles ganz logisch aus.

Aber ich habe den Eindruck, das die access-Datei nicht berücksichtigt wird.

Wenn ich in der KonfigurationsDatei des Servers im Abschnitt <Directory "/"> die RewriteEngine auf ON setzte, verweigert der Server den Start mit einer unspezifischen Fehlermeldung.
In der accsess-Datei zeigt sich wie gesagt auch keine Wirkung.

Da ich local das erste mal einen Server betreibe, weiß ich jetzt nicht, was ich alles einstellen muß, um die Umleitungen zu realisieren.

Kannst Du da auch weiterhelfen?

Danke schon mal und Gruß

Fraenky
Member: Fraenky
Fraenky Mar 11, 2010 at 09:58:05 (UTC)
Goto Top
Hallo.

Ich habe in der Datei loadmodule.conf festgestellt, das das Modul rewrite nicht geladen wurde.

Das habe ich durch einen entsprechenden Eintrag in der apache2-Datei nachgeholt.

Nach Neustart des Webservers ist das Modul rewrite auch in der loadmodule.conf aufgeführt.

Damit dürfte eine wichtige Vorraussetzung erfüllt sein.

Um irgendeine Wirkung zu erkennen, habe ich in der Datei httpd.conf folgenden Eintrag gemacht:

<IfModule mod_rewrite>
RewriteEngine on
RewriteRule ^/short$ /pfad/index.php
</IfModule>

Absicht: Alle Anfragen von localhost/short sollen nach localhost/pfad/index.php weiter geleitet werden.

Funktioniert leider so nicht.

Sieht jemand einen Fehler oder wie mache ich es richtig?

Aktuell geht es also darum, überhaupt das Funktionieren von mod_rewrite zu ermöglichen und zu kontrollieren.

Gruß

Fraenky
Member: Arano
Arano Mar 11, 2010 at 11:30:39 (UTC)
Goto Top
Morgen,

Funktioniert leider so nicht.
Ja, du sagst es, so funktioniert es nicht !
Aber dabei frage ich mich, was heisst denn das ? Gibt es eine Fehlermeldung, wird das einfach ignoriert oder passiert was ganz anderes !?
Ist jetzt egal aber vorhin sprachst du von einer spezifischen Fehlermeldung, leider vergasst du uns diese mitzuteilen - weisst schon, Glaskugel, Hellsehen und so

Aber was mir so Spontan noch ein- und auffällt:
Einen Beitrag vorher sprachst du von der Direktiven "<Directory />". Das könnte die falsche gewesen sein, richtig wäre die des DOCUMENT_ROOT gewesen und nicht die des SERVER_ROOT.

Schau mal hier in dem Forum von www.mod-rewrite.de - mod_rewrite FAQ vielleicht kommst du damit ja weiter.

Sorry für die kurze Antwort - ich muss los...


~Arano
Member: Fraenky
Fraenky Mar 11, 2010 at 15:38:39 (UTC)
Goto Top
Malzeit.

Da Du ja in Eile warst, hast Du vielleicht überlesen, das ich von einer unspezifischen Fehlermeldung sprach.
Wenn ich also in Yast unter Systemdienste den apache ausschalte, um mit dem einschalten die aktuellen Konfigurationen einzulesen, wurde nicht gestartet, sondern mit einer unspezifischen Fehlermeldung abgebrochen.

Aber Danke für die Hinweise mit der Directory und auch für den Hinweis auf die Webseite.

Meiner Meinung nach habe ich die mir bekannten Parameter jetzt richtig gesetzt. Sie lauten:

In der httpd.conf steht folgender Eintrag:
<Directory \"/home/user/htdocs\">
Options FollowSymLinks
AllowOverride FileInfo
Order allow,deny
Allow from all
</Directory>

Im Ordner htdocs ist eine .htaccsess-Datei mit folgendem Inhalt:
RewriteEngine On
RewriteRule ^ http://www.google.de [R,L]

Im Ordner der Testdatei eine Ordnerebene tiefer ist ebenfalls eine .htaccsess-Datei mit diesem Inhalt:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !^/bilder
RewriteRule ([^/]*)\\.gif$ /bilder/$1.gif

Es müsste doch eigentlich alles funktionieren, aber die Testseite wird angezeigt wie vor Anlage der .htaccsess-Dateien.

Ist noch eine wichtige Einstellung unberücksichtigt geblieben, etwas im oben genanten falsch oder gibt es noch Einstellungen, die mod_rewrite verhindern können?

Ich bin für jede Hilfe dankbar.

Gruß

Fraenky
Member: Fraenky
Fraenky Mar 11, 2010 at 17:21:46 (UTC)
Goto Top
Hallo.

Alles klar. Jetzt läuft es.

Der Fehler lag wahrscheinlich, wie Du schon vermutest hast, an Einträgen in der falschen Directory.

Also Danke nochmal für die Impulse.

Gruß

Fraenky
Member: Arano
Arano Mar 12, 2010 at 00:33:05 (UTC)
Goto Top
Nabend,

ah, das hört sich doch gut an !
Ach, nicht der Rede wert. Wenn du noch mal einen Impuls brauchst, erstelle einfach noch ne Frage *fg*

Hm hm, hm hm... so ist das also.
Wir haben vorhin einfach nur ein bisschen an einander vorbei geredet.
  1. Anstelle von unspezifisch habe ich spezifisch gelesen.
  2. Dachte ich bei der Fehlermeldung auch eine über den Browser: "500 Internal error" oder einfach nur ein "404 Not found".
  3. Hatte schon die Vermutung das du evtl. auch Plesk verwendest und vielleicht von einem gemietetem V-Server oder so sprichst. Jedoch dachte ich nicht soweit bis Yast und daher
  4. noch an eine Fehlermeldung in der Konsole beim Serverneustart al'a:
    arano@lamp:~$ sudo /srv/apache/cur/bin/httpd -k restart
    Syntax error on line 147 of /srv/apache/cur/conf/httpd.conf:
    Illegal option FollowSymLinksssss
    arano@lamp:~$ 
Und
  1. 5. Gibts doch auch Error-Logs ;)
    arano@lamp:~$ tail -n 3 /srv/apache/cur/logs/error_log 
    [Fri Mar 12 01:17:59 2010] [notice] SIGHUP received.  Attempting to restart
    Syntax error on line 147 of /srv/apache/cur/conf/httpd.conf:
    Illegal option FollowSymLinksssss
    arano@lamp:~$ 

Tjoa, halt aneinander vorbei "gequasselt".
Aber was solls - läut ja jetzt !

~Arano face-smile
Member: Fraenky
Fraenky Mar 12, 2010 at 22:55:05 (UTC)
Goto Top
Hallo.

Kein Problem. Das Mißverständnis bezog sich ja nur auf eine Nebensache( obwohl natürlich Fehlermeldungen sehr wichtig sind, aber hier passte es ja auch ohne), das Wichtige wurde ja übermittelt.

Es zeigt einfach nur die Anforderung an korrekte Kommunikation, wenn 2 Menschen kommunizieren, die nichts voneinander wissen als das geschriebene und zeigt, wie der persönliche Kontext in die Interpretation des Unklaren einfließt.

Wie Du klar aufgezeigt hast, können Fehlermeldungen in verschiedenen Kontexten auftauchen, so das ich das mit YAST direkt hätte erwähnen können.

Auf jeden Fall zeigt Deine Methode des Neustarts eindeutige Vorteile bezüglich Fehlerart und -position. Das sind doch schon mal wichtige Vorteile.

Also Dank nochmal

und Gruß

Fraenky