Grafikanzeige per .htaccess-Datei beeinflussen
Ingo Siemon
- sonstiges
Hallo Ihr Lieben
Ich habe ein bestimmtes Verzeichnis, in dem 20 verschiedene
Bannermotive liegen. Es sind alles gif-Dateien.
Diese Dateien haben die Dateinamen:
SPACEart-01.gif
SPACEart-02.gif
SPACEart-03.gif
SPACEart-04.gif
u.s.w.-
Wenn nun ein Internet-User in seinen Browser folgenden Link eingibt
(oder ihn auf seiner Homepage einbaut):
http://www.SPACEart.info/Banner/Eigene/SPACEart-W.gif
soll bei jedem Aufruf dieses Links ein anderes der oben genanten Banner angezeigt werden
(per Zufall ausgewählt, oder einfach immer der Reihe nach ... das ist egal)
Ist so etwas mit einer .htaccess-Datei lösbar ?
Falls ja, würde ich gleich ganz frech weiterfragen, wie ?
Wie müsste also eine .htaccess-Datei ganz excat aussehen,
damit sie obige Funktion erfüllt ?
Über Hilfe wäre ich natürlich sehr glücklich ?
Gruß aus Münster
Ingo Siemon
Ich habe ein bestimmtes Verzeichnis, in dem 20 verschiedene
Bannermotive liegen. Es sind alles gif-Dateien.
Wenn nun ein Internet-User in seinen Browser folgenden Link eingibt
(oder ihn auf seiner Homepage einbaut):
http://www.SPACEart.info/Banner/Eigene/SPACEart-W.gif
soll bei jedem Aufruf dieses Links ein anderes der oben genanten Banner angezeigt werden
(per Zufall ausgewählt, oder einfach immer der Reihe nach ... das ist egal)
Ist so etwas mit einer .htaccess-Datei lösbar ?
Sicher, kein Problem.
Falls ja, würde ich gleich ganz frech weiterfragen, wie ?
Wie müsste also eine .htaccess-Datei ganz excat aussehen,
damit sie obige Funktion erfüllt ?
Suche Dir einen Hoster, der ein Modul in seinem Apache hat, mit dem sich Dateien zufällig aussuchen lassen. Das brauchst Du dann nur noch in der .htaccess einschalten - fertig.
Gruß,
soenk.e
PS: Das Servermodul mußt Du wahrscheinlich selber schreiben, auf [http://http://modules.apache.org/] bin ich nicht so recht fündig geworden.
PPS: PHP oder Perl bringen Dich wahrscheinlich schneller an's Ziel.
use Mosche;
Diese Dateien haben die Dateinamen:
SPACEart-01.gif
SPACEart-02.gif
SPACEart-03.gif
SPACEart-04.gif
u.s.w.-
Wenn nun ein Internet-User in seinen Browser folgenden Link eingibt
(oder ihn auf seiner Homepage einbaut):
http://www.SPACEart.info/Banner/Eigene/SPACEart-W.gif
soll bei jedem Aufruf dieses Links ein anderes der oben genanten Banner angezeigt werden
(per Zufall ausgewählt, oder einfach immer der Reihe nach ... das ist egal)
Ist so etwas mit einer .htaccess-Datei lösbar ?
Ja. Nimmst zuerst eine Rewrite Rule und leitest alle Anfragen an SPACEart-W.gif an ein entsprechendes Script weiter. Das Script gibt zufällig eine Grafik aus. Eigentlich ganz einfach.
Ist einfacher als ein Servermodul zu schreiben, weil wahrscheinlich auch universell einsetzbarer (wenn man einen restriktiven Provider hat).
use Tschoe qw(Matti);
Lieber Matti
Ist so etwas mit einer .htaccess-Datei lösbar ?
Ja. Nimmst zuerst eine Rewrite Rule und leitest alle Anfragen an SPACEart-W.gif an ein entsprechendes Script weiter. Das Script gibt zufällig eine Grafik aus. Eigentlich ganz einfach.
Ist einfacher als ein Servermodul zu schreiben, weil wahrscheinlich auch universell einsetzbarer (wenn man einen restriktiven Provider hat).
Vielen lieben Dank für Deine Antwort :)
Ich muss leider gestehen, dass ich nicht kompetent genug bin,
eine entsprechende Rewrite Rule und ein dazugehöriges Script
zu erstellen.
Darum gleich eine "freche" Frage/Bitte:
Könntest Du mir das evtl. erstellen ?
Es darf auch was kosten :)
Es würde mich riesig freuen,
diesbezüglich wieder von Dir zu hören/lesen :))
Gruß aus Münster
Ingo Siemon
Ja. Nimmst zuerst eine Rewrite Rule und leitest alle Anfragen an SPACEart-W.gif an ein entsprechendes Script weiter. Das Script gibt zufällig eine Grafik aus. Eigentlich ganz einfach.
Ich muss leider gestehen, dass ich nicht kompetent genug bin,
eine entsprechende Rewrite Rule und ein dazugehöriges Script
zu erstellen.
http://www.google.com/search?q=apache+rewrite+rule
http://httpd.apache.org/docs/mod/mod_rewrite.html
http://httpd.apache.org/docs/misc/rewriteguide.html
http://www.google.com/search?q=php+banner+rotation+script
http://px.sklar.com/code.html?code_id=49
Hi Ingo,
Ist so etwas mit einer .htaccess-Datei lösbar ?
Im Widerspruch zu den vorherigen Postings: Nein.
Eine .htaccess-Datei erlaubt Dir, Teile der Apache-Konfigurationsanweisungen selbst vorzunehmen - nicht aber, irgendwelche Intelligenz ablaufen zu lassen.
.htaccess ist keine Programmiersprache - Du brauchst aber ein Programm, welches die Zufallsfunktion realisiert.
.htaccess mag Dir unterschiedlich komfortable Möglichkeiten geben, dieses Programm mit Deinen URLs zu verbinden. Aber das brauchst Du nicht.
Du kannst ein CGI-Skript unter einem beliebigen URL aufrufen. Selbst unter einem URL, der mit der Zeichenkette ".gif" endet! _Das_ wiederum läßt sich in der Apache-Konfiguration regeln - und auch Deine .htaccess-Datei könnte dabei nützlich sein.
Vergiß also zunächst mal die .htaccess-Idee und schreibe Dir ein CGI-Skript, welches
1. eine Zahl auswürfelt,
2. den Inhalt einer Datei einliest und
3. diesen Inhalt samt HTTP-Header nach stdout ausgibt.
Denn das ist es, was Du haben willst: Ein "Bild" mit variablem Inhalt.
Unter welchem URL dieses Bild ansprechbar ist, klären wir in Phase 2 - okay?
Viele Grüße
Michael
Lieber Michael
Du kannst ein CGI-Skript unter einem beliebigen URL aufrufen. Selbst unter einem URL, der mit der Zeichenkette ".gif" endet! _Das_ wiederum läßt sich in der Apache-Konfiguration regeln - und auch Deine .htaccess-Datei könnte dabei nützlich sein.
Vergiß also zunächst mal die .htaccess-Idee und schreibe Dir ein CGI-Skript, welches
- eine Zahl auswürfelt,
- den Inhalt einer Datei einliest und
- diesen Inhalt samt HTTP-Header nach stdout ausgibt.
Denn das ist es, was Du haben willst: Ein "Bild" mit variablem Inhalt.
Vielen lieben Dank für Deine nette Antwort !
Ich muss aber leider zu meiner Schande gestehen, dass ich keiner Scriptsprache mächtig bin :)
Darum suche ich jemanden, der das sozusagen für mich macht :)
Ich bin übrigens auch bereit, was dafür zu bezahlen.
Unter welchem URL dieses Bild ansprechbar ist, klären wir in Phase 2 - okay?
Würde mich natürlich SUPERdoll freuen, wenn Du mir bei dem Probelm weiter helfen könntest :)
Gruß aus Münster
Ingo Siemon
Vergiß also zunächst mal die .htaccess-Idee und schreibe Dir ein CGI-Skript, welches
Ich muss aber leider zu meiner Schande gestehen, dass ich keiner Scriptsprache mächtig bin :)
Du hast leider nicht geschrieben, welche Sprache Du auf Deinem Server verwenden kannst.
Da anscheinend niemand bemerkt hat, daß meine (zwar korrekte) Antwort nicht so ganz ernst gemeint war (und mein der Inhalt meines PS betreffs Perl und PHP jetzt schon zum zweiten Mal wiederholt wurde:), melde ich mich nochmal. Soll ja keiner einen schlechten Eindruck von mir bekommen ;) Vielleicht macht Dich ja folgende PHP-Lösung glücklich:
Vergiss den Aufwand mit Rewrite Rule, CGI und .htaccess. Du richtest unter http://www.SPACEart.info/Banner/Eigene/ folgende Dateien ein:
SPACEart-1.gif
SPACEart-2.gif
SPACEart-3.gif
SPACEart-4.gif
etc.
Beachte, daß die Zahlen der Einfachheit halber keine Null mehr haben. Dazu kommt dann noch eine Datei namens
index.php
In diese Datei index.php schreibst Du dann folgendes:
<?php
header("Content-Type: image/gif");
readfile("SPACEart-". rand(1,4) .".gif");
exit;
?>
Fertig. Die 4 in der dritten Zeile mußt Du durch die Anzahl Deiner Banner ersetzen, genauer: durch die Zahl in Deinem letzten Banner. Die Banner müssen durchgehend nummeriert werden.
Aufgerufen wird das mit "http://www.SPACEart.info/Banner/Eigene" oder "http://www.SPACEart.info/Banner/Eigene/index.php".
Ausprobieren kannst Du es unter http://kino-fahrplan.de/test/.
Gruß,
soenk.e
Lieber Soenke
Vielen lieben Dank für Deinen Tipp.
Dank dessen bin ich nun endlich ein Stück weiter gekommen.
FREU :)))))
Du hast leider nicht geschrieben, welche Sprache Du auf Deinem Server verwenden kannst.
Pearl, PHP, alles was Du willst :)
Da anscheinend niemand bemerkt hat, daß meine (zwar korrekte) Antwort nicht so ganz ernst gemeint war (und mein der Inhalt meines PS betreffs Perl und PHP jetzt schon zum zweiten Mal wiederholt wurde:), melde ich mich nochmal. Soll ja keiner einen schlechten Eindruck von mir bekommen ;) Vielleicht macht Dich ja folgende PHP-Lösung glücklich:
Vergiss den Aufwand mit Rewrite Rule, CGI und .htaccess. Du richtest unter http://www.SPACEart.info/Banner/Eigene/ folgende Dateien ein:
SPACEart-1.gif
SPACEart-2.gif
SPACEart-3.gif
SPACEart-4.gif
etc.
Beachte, daß die Zahlen der Einfachheit halber keine Null mehr haben. Dazu kommt dann noch eine Datei namens
index.php
In diese Datei index.php schreibst Du dann folgendes:
<?php
header("Content-Type: image/gif");
readfile("SPACEart-". rand(1,4) .".gif");
exit;
?>
Fertig. Die 4 in der dritten Zeile mußt Du durch die Anzahl Deiner Banner ersetzen, genauer: durch die Zahl in Deinem letzten Banner. Die Banner müssen durchgehend nummeriert werden.
Aufgerufen wird das mit "http://www.SPACEart.info/Banner/Eigene" oder "http://www.SPACEart.info/Banner/Eigene/index.php".
Ausprobieren kannst Du es unter http://kino-fahrplan.de/test/.
Genauso habe ich es nun gemacht und es funxt auch genauso, wie ich es mir gewünscht habe :)
Nun habe ich nur noch eine Frage:
Was genau muss ich die .htaccess schreiben, damit es auch beim Aufruf von
http://www.SPACEart.info/Banner/Eigene/SPACEart-W.gif
funxt ?
Es würde mich wirklich RIESIG freuen, wenn Du mir da noch einmam behilflich sein könntst :)))
Gruß aus Münster
Ingo Siemon
Aufgerufen wird das mit "http://www.SPACEart.info/Banner/Eigene"
Nun habe ich nur noch eine Frage:
Was genau muss ich die .htaccess schreiben, damit es auch beim Aufruf von
http://www.SPACEart.info/Banner/Eigene/SPACEart-W.gif
funxt ?
Da hilft Dir sicher [http://httpd.apache.org/docs/mod/mod_alias.html#redirect] weiter. Ich würde es aber so lassen, wie ich das vorgeschlagen hatte, also "http://www.SPACEart.info/Banner/Eigene", da das etwas flexibler ist, weil allgemeiner.
Auf diese Art und Weise bist Du in Zukunft etwas freier, was diese Banner-Adresse angeht (man baut öfter um, als man denkt), außerdem ist sie leichter zu merken und last but not least passt sie auch logisch: Du willst ja nicht ein bestimmtes Banner, sondern eines von vielen aus diesem Verzeichnis - dann sollte da dementsprechend auch das Verzeichnis stehen, nicht eine Datei.
Aber das nur als gut gemeinter Rat.
Falls Du schon die Adresse ../SPACEart-W.gif im Umlauf hast, mußt Du natürlich doch noch den Redirect-Befehl benutzen. Neuen "Kunden" würde ich aber ausschließlich die Verzeichnisadresse geben.
Gruß,
soenk.e
Lieber Soenke
Nun habe ich nur noch eine Frage:
Was genau muss ich die .htaccess schreiben, damit es auch beim Aufruf von
http://www.SPACEart.info/Banner/Eigene/SPACEart-W.gif
funxt ?
Da hilft Dir sicher [http://httpd.apache.org/docs/mod/mod_alias.html#redirect] weiter. Ich würde es aber so lassen, wie ich das vorgeschlagen hatte, also "http://www.SPACEart.info/Banner/Eigene", da das etwas flexibler ist, weil allgemeiner.
Auf diese Art und Weise bist Du in Zukunft etwas freier, was diese Banner-Adresse angeht (man baut öfter um, als man denkt), außerdem ist sie leichter zu merken und last but not least passt sie auch logisch: Du willst ja nicht ein bestimmtes Banner, sondern eines von vielen aus diesem Verzeichnis - dann sollte da dementsprechend auch das Verzeichnis stehen, nicht eine Datei.
Aber das nur als gut gemeinter Rat.
OK, werd ich machen !
Falls Du schon die Adresse ../SPACEart-W.gif im Umlauf hast, mußt Du natürlich doch noch den Redirect-Befehl benutzen. Neuen "Kunden" würde ich aber ausschließlich die Verzeichnisadresse geben.
Genau das war der Grund :)
Die SPACEart-W.gif-URL ist nämlich schon gut im Umlauf.
Darum habe ich nun folgendes in die .htaccess eingetragen:
RedirectMatch permanent /SPACEart-W.gif e/index.php
Ist das richtig ?
Es funxt jedenfalls ganz hervorragend !!
Ganz viel lieben dollen Dank nochmal für Deine tolle Hilfe !!!
Das unten angezeigte Banner wird übrigens schon per .htaccess-Redirect angezeigt :) (Relaode mal)
Gruß aus Münster
Ingo Siemon
Darum habe ich nun folgendes in die .htaccess eingetragen:
RedirectMatch permanent /SPACEart-W.gif e/index.php
Ist das richtig ?
Öhm, das sieht etwas verkrüppelt aus, und auf Deinem Server funktioniert's nicht.
Wenn Dein Banner bisher nur unter http://www.SPACEart.info/Banner/Eigene/SPACEart-W.gif zu finden war, dann brauchst Du auch kein RedirectMatch, ein einfaches Redirect auf exakt diesen Pfad reicht schon.
Schau nochmal in die Anleitung, das Beispiel unter Redirect finde ich eigentlich recht eindeutig ;)
Gruß,
soenk.e
Lieber Soenke
Öhm, das sieht etwas verkrüppelt aus, und auf Deinem Server funktioniert's nicht.
Ups, sorry, habe da wohl etwas geschlampt :)
Nun habe ich folgendes in die .htaccess geschrieben:
RedirectMatch SPACEart-W.gif index.php
Und das funxt nun auch ... oder ?
Wenn Dein Banner bisher nur unter http://www.SPACEart.info/Banner/Eigene/SPACEart-W.gif zu finden war, dann brauchst Du auch kein RedirectMatch, ein einfaches Redirect auf exakt diesen Pfad reicht schon.
Wenn ich
Redirect SPACEart-W.gif index.php
eintrage gehts nicht.
Gruß
Ingo
Hi Ingo,
Wenn Dein Banner bisher nur unter
http://www.SPACEart.info/Banner/Eigene/SPACEart-W.gif
zu finden war, dann brauchst Du auch kein
RedirectMatch, ein einfaches Redirect auf exakt
diesen Pfad reicht schon.
Wenn ich
Redirect SPACEart-W.gif index.php
eintrage gehts nicht.
das ist auch nicht "exakt dieser Pfad", sondern nur ein Fetzen daraus (was dem "RedirectMatch" reicht, aber 'unschärfer' ist, weil derselbe Dateiname in allen Verzeichnissen gematched würde).
Viele Grüße
Michael
(der heimlich grinsend zusieht, wie Du Dir hier die Lösung zusammenbettelst ... immerhin formvollendet ...)
Wenn Dein Banner bisher nur unter
http://www.SPACEart.info/Banner/Eigene/SPACEart-W.gif
zu finden war, dann brauchst Du auch kein
RedirectMatch, ein einfaches Redirect auf exakt
diesen Pfad reicht schon.
Wenn ich
Redirect SPACEart-W.gif index.php
eintrage gehts nicht.
Mmh, hatte ich nicht was von "tollem Beispiel" geschrieben? Mussudirauchmaldentextdurchlesenaufdenichdirhinweisentuntue.
das ist auch nicht "exakt dieser Pfad", sondern nur ein Fetzen daraus (was dem "RedirectMatch" reicht, aber 'unschärfer' ist, weil derselbe Dateiname in allen Verzeichnissen gematched würde).
Jaja, Hauptsache es matscht ;) Aber damit das heute noch was wird:
redirect permanent /Banner/Eigene/SPACEart-W.gif http://www.SPACEart.info/Banner/Eigene/
Viele Grüße
Michael
(der heimlich grinsend zusieht, wie Du Dir hier die Lösung zusammenbettelst ... immerhin formvollendet ...)
Gruß,
soenk.e (der heimlich grinsend darauf hofft, daß bald eine von den lustigen Puppen fällig ist;)
Lieber Sönke
Mmh, hatte ich nicht was von "tollem Beispiel" geschrieben? Mussudirauchmaldentextdurchlesenaufdenichdirhinweisentuntue.
Ist mit ja peinlich, aber da ich der englischen Sprache nicht so
ganz dolle mächtig bin, hatte ich schon schwierigkeiten
mit der genannten Seite klarzukommen :)
das ist auch nicht "exakt dieser Pfad", sondern nur ein Fetzen daraus (was dem "RedirectMatch" reicht, aber 'unschärfer' ist, weil derselbe Dateiname in allen Verzeichnissen gematched würde).
Jaja, Hauptsache es matscht ;) Aber damit das heute noch was wird:
redirect permanent /Banner/Eigene/SPACEart-W.gif http://www.SPACEart.info/Banner/Eigene/
Ick könnt Dir küssen :)
soenk.e (der heimlich grinsend darauf hofft, daß bald eine von den lustigen Puppen fällig ist;)
Yep, geht klar.
Im Ernst, such Dir eine von diesen hier aus:
http://www.spaceart.info/Artikel/c366.shtml
http://www.spaceart.info/Artikel/c394.shtml
http://www.spaceart.info/Artikel/c356.shtml
Ich bettle mir hier zwar die Lösung für meine Probleme zusammen :)
... bin aber dann auch gerne Bereit, was springen zu lassen :)
Es sind aber Modell-Bausätze, die Du noch zusammenbauen und bemalen
musst. Und Deine Adresse brauche ich natürlich auch noch.
Gruß aus Münster
Ingo Siemon
Ist mit ja peinlich, aber da ich der englischen Sprache nicht so
ganz dolle mächtig bin, hatte ich schon schwierigkeiten
mit der genannten Seite klarzukommen :)
Hoppla, damit hatte ich nicht gerechnet, sorry .)
soenk.e (der heimlich grinsend darauf hofft, daß bald eine von den lustigen Puppen fällig ist;)
Yep, geht klar.
Naja, also für vier Kleckerzeilen Code kann ich das IMHO nicht annehmen. Und hier für Forumsaktivitäten sowieso nicht. Mal ganz zu schweigen davon, daß es bei meinen künstlerischen Fähigkeiten schade um die Figuren wäre :)
Trotzdem, ich weiß es zu schätzen, danke!
Gruß,
soenk.e
Lieber Sönke
Ist mit ja peinlich, aber da ich der englischen Sprache nicht so
ganz dolle mächtig bin, hatte ich schon schwierigkeiten
mit der genannten Seite klarzukommen :)
Hoppla, damit hatte ich nicht gerechnet, sorry .)
Tja, kannst mal sehn :))
soenk.e (der heimlich grinsend darauf hofft, daß bald eine von den lustigen Puppen fällig ist;)
Yep, geht klar.
Naja, also für vier Kleckerzeilen Code kann ich das IMHO nicht annehmen. Und hier für Forumsaktivitäten sowieso nicht. Mal ganz zu schweigen davon, daß es bei meinen künstlerischen Fähigkeiten schade um die Figuren wäre :)
Trotzdem, ich weiß es zu schätzen, danke!
Ok, machen wir es doch so:
Wenn ich wieder mal irgendwelche Script-Probleme habe, werde ich ja hier auch wieder posten.
Und wenn Du mir dann wieder helfen kannst, darfst Du mich gerne an mein Angebot erinnern.
OK ?
Gruß
Ingo
Lieber Michael
Wenn Dein Banner bisher nur unter
http://www.SPACEart.info/Banner/Eigene/SPACEart-W.gif
zu finden war, dann brauchst Du auch kein
RedirectMatch, ein einfaches Redirect auf exakt
diesen Pfad reicht schon.
Wenn ich
Redirect SPACEart-W.gif index.php
eintrage gehts nicht.
das ist auch nicht "exakt dieser Pfad", sondern nur ein Fetzen daraus (was dem "RedirectMatch" reicht, aber 'unschärfer' ist, weil derselbe Dateiname in allen Verzeichnissen gematched würde).
(der heimlich grinsend zusieht, wie Du Dir hier die Lösung zusammenbettelst ... immerhin formvollendet ...)
Tja, was soll man machen, wenn man keine Scroptsprache kann und von
Apache-Server-Konfiguration bisher auch ÜBERHAUPT keine Ahnung hatte.
Und wenn man (ist mir ja peinlich) der englischen Sprache auch nicht
so sehr mächtig ist, als dass man solche Internetseiten wirklich versteht :)
Aber ich Danke Euch natürlich ganz doll für Eure liebe Hilfe :))
Gruß aus Münster
Ingo Siemon
Hi Ingo,
Tja, was soll man machen, wenn man keine Scriptsprache kann und von
Apache-Server-Konfiguration bisher auch ÜBERHAUPT keine Ahnung hatte.
wie wäre es mit "lernen"?
Viele Grüße
Michael
Lieber Michael
Tja, was soll man machen, wenn man keine Scriptsprache kann und von
Apache-Server-Konfiguration bisher auch ÜBERHAUPT keine Ahnung hatte.
wie wäre es mit "lernen"?
Ich selber bin ja im Grunde kein Webdesigner,
sondern eher SciFi-Modell-Händler, der einfach nur gerne
seinen OnliseShop selber baut.
Leider habe ich nicht die Zeit, mit Pearl oder Ähnliches vernünftig anzueignen :)
Darum greife ich gerne auf Hilfe von Profis zurück.
Die ich übrigens auch gerne bezahle, wenns schwieriger wird !
Gruß
Ingo