Session ohne refresh - SEO

morgenstern

Erfahrenes Mitglied
Hallo!

Ich habe folgendes Problem:

Meine Seite ist Zweisprachig. Zurzeit habe ich am Anfang von der Seite eine Abfrage, die überprüft, ob die Session language gesetzt ist. Ist sie nicht gesetzt, wird sie als "de" gesetzt, danach folgt ein header: location wieder auf die Startseite. Für den user stellt dies kein Problem dar, jedoch für die Suchmaschinen.

Wie kann man dies umgehen? Die Session ist ja erst nach einem refresh "vorhanden". Kann es sein, dass man wegen eines header:location nicht in den Index kommt? Sendet ja 301 bzw. 302 Fehler code oder nicht?


Vielen Dank.
 
Wieso leitest du überhaupt weiter? Wieso setzt du den Sprach-Parameter nicht gleich auf der Startseite, sodass eine Weiterleitung unnötig ist?
 
Ich habe eine index.php - meine Startseite

Dort setzte ich den Parameter. $_SESSION["lang"]. Nur bleibt der Inhalt leer, erst nach einem refresh ist er vorhanden.
 
Das kann ich leider nicht ganz nachvollziehen. Denn eine Variable besitzt direkt nach einer Wertzuweisung einen Wert.
Was ich mir vorstellen kann, ist, dass das Problem mit Cookies zusammenhängt. Denn dessen Werte werden nur jeweils bei der HTTP-Anfrage und -Antwort übermittelt.
 
Hi,

wie übergibst du den Wert an die Session auf deiner Startseite (index.php)?

Gumbo hat nämlich Recht, eine Variable hat nach der Zuweisung sofort diesen Wert.

So z.B. müsste die Session bereits auf deiner Startseite gesetzt sein:

PHP:
<?php
	$_SESSION["lang"] = "de";
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

	<head>
		<meta http-equiv="content-type" content="text/html;charset=utf-8" />
		<title>meine Startseite</title>
	</head>

	<body>
		<?php echo $_SESSION["lang"]; /* gibt "de" aus! */ ?>
	</body>

</html>

Gruss
Mik
 
Hi, war ein Cookie-Problem, gelöst :)

Jetzt hätte ich noch eine Frage:

Ich Redirecte per htaccess. Er soll, wenn man auf die Page kommt sofort in den Ordner hp/index.php kommen. Soweit so gut, dies funktioniert auch. Nur, wenn ich mir dies kontrollieren lasse von (http://www.ranking-hits.de/tools.php - > ganz unten -> cloaking)
meint dieser, dass für google es als Dokument moved here angezeigt wird.

Habt ihr eine Idee, was das sein könnte?

Oder andere Pages, die besser zum Testen sind?

Danke

Hier mein Code:

Code:
Redirect /index.html http://www.martinjanda.at/hp/index.php
Redirect 301 /index.html http://www.martinjanda.at/hp/index.php
ErrorDocument 404 http://www.martinjanda.at/hp/index.php
ErrorDocument 400 http://www.martinjanda.at/hp/index.php
 
Ändere doch einfach die Verzeichniswurzel („document root“), sodass auch hier eine Weiterleitung unnötig ist.
 
Zurück