Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

mod_rewrite für Grafik-Pfade - sinnvoll?

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
Neues Thema Antworten
umwelt
PostRank 6
PostRank 6
Beiträge: 386
Registriert: 16.11.2011, 22:06

Beitrag von umwelt » 16.11.2011, 22:38

Hallo,
ich versuche schon seit ner Weile herauszufinden, ob es Sinn macht, grafiken mit keyword-optimierten pfaden aufzurufen. also apfel_birne.png statt 9ndx9uzoiwcxidsbgf.png

ich speichere grafiken in einem ordner, rufe die dazugehörigen daten aber aus einer datenbank ab, so dass der aufruf dynamisch geschieht.

die frage ist also noch:
- soll ich von img.php?id=apfel-birne nach 9ndx9uzoiwcxidsbgf.png umleiten (header()) oder besser die grafik direkt in die img.php einlesen (fread())?
ich habe es jetzt mit letzterer methode versucht, damit ich mir die weiterleitung spare... aber es ist ziemlich lahm, scheint mir.

daher die frage: lohnt die mühe überhaupt?
oder soll ich einfach per apfel_birne.png aufrufen und dann schlicht nach 9ndx9uzoiwcxidsbgf.png weiterleiten?

viele grüße!

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Melegrian
PostRank 10
PostRank 10
Beiträge: 3170
Registriert: 30.01.2005, 12:36

Beitrag von Melegrian » 17.11.2011, 08:02

apfel_birne.png ist sicherlich besser. Was ich bei der ganzen Geschichte nicht verstehe, warum Du den Dateinamen nicht gleich in der DB editieren kannst? Und wie sollte es dann gehen? Möchtest Du eine Liste mit tausend oder mehr Namen erstellen, die Du dann den Bildern zuordnen möchtest? Warum dann nicht gleich ein zusätzliches Feld in der DB, wo Du jedes Bild dann über

Code: Alles auswählen

        ID              Name                 

9ndx9uzoiwcxidsbgf    apfel_birne


ID oder Name abrufen könntest? Dann brauchtest Du nichts umschreiben.

Malte Landwehr
PostRank 10
PostRank 10
Beiträge: 3474
Registriert: 22.05.2005, 10:45

Beitrag von Malte Landwehr » 17.11.2011, 08:04

Annahme: Dein Keyword ist "Apfel Birne" und das Bild zeigt "Apfel Birne".

Im ausgelieferten HTML sollte apfel-birne.png eingebunden sein (beachten auch - vs _) und ohne irgendwelche Weiterleitungen direkt angezeigt werden. Ob dein Server intern irgendwelche Daten irgendwoher zieht ist egal, der Client (=User/Bot) sollte davon aber nichts mitbekommen.
Die 45 wichtigsten SEO-Tools und wie ich sie nutze.

umwelt
PostRank 6
PostRank 6
Beiträge: 386
Registriert: 16.11.2011, 22:06

Beitrag von umwelt » 17.11.2011, 09:44

hallo,
danke für die antworten!

der grund, warum ich nicht direkt die dateinamen aufrufe ist, dass ich die bilder per numerischer id einbinde. also z.b. img = 51.

so, in der image-datenbank ist dann id 51 z. b. mit pfad: djvwns.png und der image-id apfel-birne
und mit einer beschreibung.
da ein bild in mehreren beiträgen eingebunden werden kann und ich die bilder (inkl. pfad und beschreibung) aber nachträglich per DB ändern können möchte (weiß grad nicht, ob sich dafür der aufwand wirklich lohnt), hab ich es eben so eingerichtet, das man später auch den (mod_rewrite)-pfad ändern kann ohne alle beiträge zu ändern.

edit:
die seite hat ein bild-cache-system, das prüft, ob die gewünschte bildgröße schon existiert. dazu _muss_ das ganze ja über ein prüf-script laufen und ich hab wieder das problem mit der ausgabe...
jemand eine idee/lösung?

edit 2:
eine lösung, die mir einfiele, wäre eine RewriteCond -f, die dann ein bild aufruft, wenn es existiert und sonst an die php-datei verweist, die das bild per fread() ausgibt.
frage hier: macht es einen unterschied, ob die bilddatei dann (für den bot) aus img/uploads/ oder aus bild/ kommt?

edit 3 (fragen ist der beste weg, selbst eine lösung zu finden :))
readfile() ist wohl schneller...
viele grüße!

Melegrian
PostRank 10
PostRank 10
Beiträge: 3170
Registriert: 30.01.2005, 12:36

Beitrag von Melegrian » 17.11.2011, 11:35

Bis dahin kann ich noch folgen und so meinte ich das in etwa auch:
umwelt hat geschrieben:der grund, warum ich nicht direkt die dateinamen aufrufe ist, dass ich die bilder per numerischer id einbinde. also z.b. img = 51.
Nur das ich dann versuchen würde

Code: Alles auswählen

SELECT * FROM bilder WHERE id = '51'
... ... ...

$gebeAus  =  $foto["name"].".png";
auszugeben, weil dann nichts umgeschrieben werden müsste.

Doch der Rest wird mir zu kompliziert, da zu sehr scriptspezifisch. Wobei es sich praktisch nur um eine img.php (und einigen zum Script gehörende Dateien mehr) handelt, die erst einmal alle mit der ID verbundenen Daten überprüft, dann die Binärdaten eines Bildes einliest, um diese an den Browser zu senden? Nun gut, Bilder liegen ja ohnehin nur als Binärdaten auf dem Server, so das die Ladezeit nicht nur von der Bildgröße abhängen wird, sondern auch davon, wie optimal das Script arbeitet.

Was ich aber meinte, wenn apfel-birnen = 51 und tomaten = 143, dann müsste doch diese Zuordnung gleich beim Aufruf eines Bildes abrufbar sein und als ["name"].".png"; ausgegeben oder verarbeitet werden können. Wenn sich hingen nichts zuordnen lässt, so kann auch nichts umgeschrieben werden. Wie bereits geschrieben, das wäre jetzt eine reichlich scriptspezifische Angelegenheit, sollte deshalb nur ein Gedanke sein. Im Browser würde dann nicht die img.php?id=51 geladen, sondern direkt das Bild aus dem Ordner.

umwelt
PostRank 6
PostRank 6
Beiträge: 386
Registriert: 16.11.2011, 22:06

Beitrag von umwelt » 17.11.2011, 11:46

hallo,
ich binde das bild ja als apfel-birne_100.png ein. es muss über ein script laufen, um zu sehen, ob die bildgröße (hier 100) schon existiert (gecached wurde).
ich denke, mit readfile() geht's.
viele grüße

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag