PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Apache-Problem



AndreasMeier
12.11.05, 13:49
Hallo zusammen,

ich hab ein ziemlich blödes Problem:
Ich betreue eine Webseite, die über 2 unterschiedlichen Domain-Namen (URLs) erreicht werden kann.

Dort wird ein Bild (1 JPG-Datei) auf einer statischen HTML-Seite angezeigt.

Ich möchte irgendwie erreichen, dass das Bild nur für die eine Domain sichtbar ist.
Wenn der User über den anderen Domainnamen reinkommt, soll das Bild nicht angezeigt werden.

Wie kann man denn sowas bewerkstelligen ?

Danke und Gruß
Andreas

PS: System ist ein Redhat-Server mit Apache1, ich wäre aber auch an einem Apache2-Vorschlag interessiert

MiGo
12.11.05, 16:33
Indem du aus der statischen html-Seite eine PHP-Seite machst und das Bild je nach $HTTP_REFERRER aus- oder einblendest; das sollte die einfachste Möglichkeit sein.

AndreasMeier
12.11.05, 20:50
Hallo MiGo,

danke für den Tip.

Kannst Du mir einen Anhaltspunkt noch bitte geben, wie ich das in die Webseite einbaue ? Hab von PHP leider nur wenig Ahnung.

Herzlichen Dank,
Gruß
Andreas

heatwalker
14.11.05, 09:21
Du kannst das auch sauberer lösen, in dem du dem Apache
virtuelle hosts einträgst und diese unter unterschiedlichen
Documents roots laufen lässt.

httpd.conf

NameVirtualHost 192.168.1.1 (Deine IP-Adresse)

<VirtualHost deine.domain_001.de>
DocumentRoot /srv/www/deine.domain_001/
ServerName deine.domain_001.de
ServerAdmin webmaster@deine.domain_001
DirectoryIndex start.htm
</VirtualHost>

<VirtualHost deine.domain_002.de>
DocumentRoot /srv/www/deine.domain_002/
ServerName deine.domain_002.de
ServerAdmin webmaster@deine.domain_001
DirectoryIndex index.htm
</VirtualHost>

AndreasMeier
14.11.05, 20:27
Hallo heatwalker,

nee, möcht ich nicht, damit würdest Du ja die Seiten doppelt ablegen (sowohl im einen als auch anderen Host) und auch pflegen müssen.
Das kann nicht das Ziel sein.

Nein, ich suche eine Lösung, die sich innerhalb einer PHP-Datei abspielt.

Der Plan:
Folgendes SSL-Check-Skript so abwandeln, dass es je nach HTTP_HOST mir die Möglichkeit gibt, das Bild anzuzeigen, oder eben nicht.

Das Skript wäre folgendes:
<?
$port = $_SERVER['SERVER_PORT'];

if($port === "443"){
echo "You are using an SSL Connection, Your transactions are secured!";
} else {
echo "This is a NON SSL connection. Your transactions are not garunteed to be secure!";
}
?>

Ich kann bloß kein PHP, darum wende ich mich hierher, in der Hoffnung, den richtigen Tip zu bekommen.

Gruß
Andreas

marce
14.11.05, 21:46
... dann musst Du einfach php installieren und als Modul dem Apache unterschieben... Das Programm selbst - so schwer ist php nicht, da gibt's reichlich gutee Doku dazu, womit man das selbst hinbekommt...

wobei man das von Dir gewünschte Verhalten (wenn's nur drum geht, eine Warnseite einzubauen) auch "viel einfacher" über virt. Hosts erreichen kann - die gehen dann auf's gleiche VZ haben aber andere Default-Files...

AndreasMeier
15.11.05, 07:08
Nein, nein, ich möcht wirklich nix mit virt. Hosts ausprobieren.

Ich hab mittlerweile das Skript mir angepasst:
<?
$domain = $_SERVER['HTTP_HOST'];

if($domain === "domain1.de"){
echo "domain1.de";
} else {
echo "domain2.de";
}
?>

Hiermit krieg ich korrekt den HOST angezeigt bzw. die URL, mit der ich die Seite aufgerufen habe.

Kann mir einer noch bitte sagen, wie ich (anstatt der echo-Anweisung) ein normales Bild mir in PHP anzeigen lassen (ähnlich <img src ...> in HTML) ?

Danke und Gruß
Andreas

marce
15.11.05, 07:18
na, einfach ein echo "<img src=\"...\">"...