snowboarder1994
Goto Top

Je nach angefragter Url einen anderen Titel einfügen

Hi,

wie funktioniert das, wenn ich z.b. ebay.de aufrufe das es dann beim header ebay anzeigt und wenn ich z.b. google.de aufrufe im header google anzeigt, aber das die gleiche index ist?

also 2 urls leiten zur gleiche webseite und sollen unterschiedlichen headertext anzeigen.

danke

Mit freundlichen Grüßen
markus

Content-Key: 337836

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

Printed on: April 20, 2024 at 01:04 o'clock

Member: Sheogorath
Sheogorath May 14, 2017 at 15:45:33 (UTC)
Goto Top
Moin,

30 Sekunden JS:

if (window.location.hostname = "example.com")  
   document.getElementsByTagName("TITLE").innerHTML = "Anderer Titel";  

Jetzt setzt du noch vorher einen default
<title>
tag und das wars schon.

Probiere es mal aus, ich habe das mal eben aus dem Kopf herunter geschrieben. Sollte aber klappen.

Referenzen:
https://www.w3schools.com/jsref/prop_doc_url.asp
https://www.w3schools.com/jsref/met_document_getelementsbytagname.asp

Viel Spaß

Gruß
Chris
Member: Snowboarder1994
Snowboarder1994 May 14, 2017 at 15:59:07 (UTC)
Goto Top
Hi
danke für die Nachricht, ist das das was im Browser angezeigt wird ganz oben oder bei "Neuer Tab"?

meinte in der Index datei header einen anderen text z.b.

link1.de

dann im header Herzlich Willkommen bei Link1

link2.de

dann im header Herzlich Willkommen bei Link2

aber das die gleiche Index Datei, also 2 links gehen auf eine index datei und dort unterschiedliche texte
Member: Sheogorath
Sheogorath May 14, 2017 at 15:59:36 (UTC)
Goto Top
Oh sorry,

habe erst jetzt gesehen, dass du es in PHP haben wolltest:

<?php
if ($_SERVER[HTTP_HOST] = "example.com")  
  echo "<title>Anderer Titel</title>";  
else
  echo "<title>Standard titel</title>";  
?>

Auch hier ist die Lösung nicht getestet und aus dem Kopf zusammengeschrieben, aber sollte funktionieren.

Referenz:
https://secure.php.net/manual/en/reserved.variables.server.php
Member: Sheogorath
Sheogorath May 14, 2017 at 16:04:17 (UTC)
Goto Top
Moin,

also wenn du es auf dem Stand der Zeit machen willst, solltest du dafür ein Templating nutzen. Schau dir mal Syphony oder Twig an.

Aber natürlich kannst du das genauso machen, wie mit dem Titel.

Willkommen bei
<?php
if ($_SERVER[HTTP_HOST] = "example.com")  
  echo "FirmaA";  
else
  echo "FirmaB";  
?>
!

Sollte dennoch funktionieren.

Gruß
Chris
Member: Snowboarder1994
Snowboarder1994 May 14, 2017 updated at 18:02:35 (UTC)
Goto Top
Danke
irgendwo ist noch ein Fehler.. irgendwie zeigt es mir da trotzdem nur FirmaA an.

Kann ich die index HTML Datei einfach in PHP umbenennen?
Member: Sheogorath
Sheogorath May 14, 2017 at 18:54:13 (UTC)
Goto Top
Moin,

Wenn du default configs nutzen willst, musst du das sogar, damit es klappt. ;)

Gruß
Chris
Member: Snowboarder1994
Snowboarder1994 May 14, 2017 at 20:55:53 (UTC)
Goto Top
Klappt bei mir einfach nicht mit dieser Abfrage irgendwas mach ich falsch...

Hab 3 Links.


www.de
ww1.de
ww2.de

leitet alles auf eine index

Dort muss im header wenn man www aufruft:

Herzlich Willkommen bei www
(Wer Weiß Was)

dann wenn man ww1.de aufruft
Herzlich willkommen bei ww1
(wer weiß 1)
Member: it4baer
it4baer May 15, 2017 updated at 08:36:30 (UTC)
Goto Top
leitet alles auf eine index

willst du verschiedene "Seiten" aufrufen? Oder willst du unterschiedliche Titel haben...

mit .htaccess könnte man auch auf andere "index" dateien umleiten... das wäre aber alles andere als Dynamisch -> da kannst du auch gleich deine Domains "woanders" hinrouten!

Ansonten wie oben beschrieben, direkt im Script erkennen von welcher URL die Seite aufgerufen wurde und dann Dynamisch mit Javascript den Titel verändern! Oder mit PHP den Titel gleich setzen <- könnte aber mit Caching probleme geben... würde mir da mal
<meta http-equiv="cache-control" content="max-age=0" />  
<meta http-equiv="cache-control" content="no-cache" />  

Zu Herzen nehmen, falls der Titel beständig bleibt...

oder Sprichst du nicht von "Titel" sondern nur von Strings welche auf Buttons sind?

das würde dann mit php etwa so aussehen

echo "<button>$dynamischerText</button>";
Member: Pedant
Pedant May 15, 2017 at 08:52:49 (UTC)
Goto Top
Hallo Snowboarder1994,

hier geht es um den Inhalt von <header>
https://wiki.selfhtml.org/wiki/HTML/Seitenstrukturierung/header
und nicht um <head><title></title>...
sehe ich das richtig?

index.php
<!DOCTYPE html>
<html lang="de">  
	<head>
		<meta charset="utf-8">  
		<title>Der Titel ist hier statisch</title>
	</head>
	<body>
		<header>
<?php
$begrüßung="Standardbegrüßung";  
if ($_SERVER['SERVER_NAME'] == "www.de") {$begrüßung="Herzlich Willkommen bei www";};  
if ($_SERVER['SERVER_NAME'] == "ww1.de") {$begrüßung="Herzlich willkommen bei ww1";};  
echo "\t\t\t".$begrüßung."\n";  
?>
		</header>
	Hier steht der Inhalt der Seite.<br>
	Der ist für alle gleich.
	</body>
</html>

Falls Du doch den <Title> meinst, musst Du es entsprechend anpassen.

Gruß Frank
Member: Pedant
Pedant May 15, 2017 at 11:35:27 (UTC)
Goto Top
Hallo Snowboarder1994,

da Du im Titel des Beitrags nach "Titel" fragst und im Beitrag nach "Header" und in Deinen Beschreibungen es dann doch wieder nach "Titel" aussieht, hab ich jetzt beides in den Beispielcode aufgenommen.

Es ist übrigens auch nicht hilfreich Deine Beispielnamen in jeder Antwort anders zu wählen.
1. ebay.de und google.de
2. link1.de und link2.de
3. www.de, ww1.de und ww2.de
Das trägt eher zur Verwirrung bei, denn zur Klärung.

In meinem Beispielcode hab ich mich für die Benennung von 2. entschieden.
Ich gehe übrigens davon aus dass Deine index.php sowohl mit als auch ohne "www" erreicht werden kann.
link1.de
www.link1.de
link2.de
www.link2.de
Das wären dann vier Wege zur selben index.php.

index.php
<?php
$servername=$_SERVER['SERVER_NAME'];  
switch($servername)
	{
	case ("link1.de"):  
	case ("www.link1.de"):  
	$title_ausgabe="Link 1";  
	$header_ausgabe="Herzlich Willkommen bei Link 1";  
	break;

	case ("link2.de"):  
	case ("www.link2.de"):  
	$title_ausgabe="Link 2";  
	$header_ausgabe="Herzlich Willkommen bei Link 2";  
	break;

	default:
	$server_ausgabename=$servername;
	// "www." am Anfang entfernen, falls vorhanden  
	if (0 === strpos($server_ausgabename, "www.")) {$server_ausgabename=substr($server_ausgabename, 4);};  
	// Ersten Buchstaben in groß
	$server_ausgabename=ucfirst($server_ausgabename);
	$title_ausgabe="Startseite von ".$server_ausgabename;  
	$header_ausgabe="Herzlich Willkommen bei ".$server_ausgabename;  
	break;
	};
?>
<!DOCTYPE html>
<html lang="de">  
	<head>
		<meta charset="utf-8">  
		<title><?php echo $title_ausgabe; ?></title>
	</head>
	<body>
		<header>
			<?php echo $header_ausgabe; ?><br>
		</header>
	Hier steht der Inhalt der Seite.<br>
	Der ist für alle gleich.
	</body>
</html>
Anmerkung:
Der Code bei "default" ist weitgehend "Kosmetik", bis auf die Wertzuweisungen für die Variablen.
"default" wird ausgeführt, wenn keiner der "case"s der Switch-Anweisung (Fallunterscheidung) zutreffend war.

Gruß Frank
Member: Snowboarder1994
Snowboarder1994 May 16, 2017 at 16:16:57 (UTC)
Goto Top
Einwandfrei Top Danke versuch ich dann gleich.