Seite 1 von 1
PHPSESSID=xxx verhindern
Verfasst: 31.01.2007, 21:08
von scream479
Hallo erstmal,
Ich hoffe hier jemanden zu finden der mir helfen kann.
Ich hab gerade festgestellt, dass sich einige meiner URL´s in Google
mit angehängter PHPSESSID finden, was natürlich nicht sein sollte.
Beispiel:
www.meinedomain.at/details/7695?PHPSESS ... a1d50e3d91
Es dürfte anscheinend nur bei mittels ForceType manipulierten Dateien
auftreten (jedoch auch nur bei einigen wenigen)
Code: Alles auswählen
<Files details>
ForceType application/x-httpd-php
</Files>
Frage 1: Wie kann ich dies für die Zukunft verhindern?
Frage 2: Wie bekomme ich diese URL´s wieder aus dem Index?
Über Hilfe wäre ich sehr dankbar!
Großes Danke schon mal im Voraus!
Liebe Grüße,
Max
Verfasst: 31.01.2007, 21:37
von Gast
Code: Alles auswählen
ini_set("session.use_trans_sid", "0"); // schaltet die SID übergabe per GET Parameter AUS
Ganz oben in die index.php. Die verschwinden von alleine wenn Google Deine Seiten regelmässig crawlt - netter ist aber eine Weiterleitung. Meine Lieblingsseite zu diesem Thema:
Frozenminds
Verfasst: 31.01.2007, 21:52
von scream479
Vielen Dank!!!
Scheint prima zu funken
lg,
Max
Ergänzung
Verfasst: 31.01.2007, 22:03
von goldi
Falls die oben genannte Anweisung nicht funktioniert, kann man folgende weitergehende Einstellung in PHP benutzen:
Man sollte auch dafür sorgen, dass die mit PHPSESSID versehenen URLs aus dem Google-Index verschwinden, da sonst eine Abwertung droht ("Duplicate Content"). Dies kann man durch eine Umleitung auf die URL ohne PHPSESSID erreichen, indem man folgende Zeilen in der .htaccess ergänzt:
Code: Alles auswählen
RewriteEngine On
RewriteCond %{QUERY_STRING} PHPSESSID
RewriteRule ^(.*)$ $1? [L,R=301]
Verfasst: 31.01.2007, 22:18
von scream479
Code: Alles auswählen
RewriteEngine On
RewriteCond %{QUERY_STRING} PHPSESSID
RewriteRule ^(.*)$ $1? [L,R=301]
funkt bei mir nicht.
Hier erfolgt in meinem Fall eine Weiterleitung auf:
https://www.meinedomain.at/kunden/12345 ... aftung.php
anstelle von:
https://www.meinedomain.at/haftung.php
Was funktioniert (ich jedoch auf jede Seite einbauen muss

) ist:
Code: Alles auswählen
<?
//Determine current URL
$URL = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
//Check if PHP is not in safe mode,
//and PHPSESSID is passed via URL
if (!ini_get ('safe_mode') && preg_match ('/'.session_name().'=([^=&\s]*)/i', $URL))
{
//Remove PHPSESSID junk and unneeded characters ("&" or "?") at end of URL
$URL = preg_replace ( array ('`'.session_name().'=([^=&\s]*)`', '`(&|\?)+$`'), '', $URL);
//Send Moved Permanently header
@ header ("HTTP/1.1 301 Moved Permanently");
//Redirect to clean URL
@ header ("Location: " . trim ($URL));
//End current script
exit();
}
?>
Die htaccess Lösung wäre somit schon um einiges einfacher, sofern man sie zum funken bringt.
Vielen Dank für Eure Hilfe!
lg,
Max
Verfasst: 31.01.2007, 22:48
von Gast
Doppelter Content auf ein- und derselben Seite ist irrelevant, Google kümmert sich darum nicht.
cache löschen
Verfasst: 01.02.2007, 16:21
von siemic
hallo regine - deine meinung zum doppelten content kann ich nicht teilen. meiner erfahrung nach werden seiten mit "ähnlichem" inhalt ignoriert. da muß schon eine änderung erkennbar sein. - oder meinst du etwa ein und dieselbe content seite?
zu 2.: die löschung aus dem index kann man bei google selbst beantragen- siehe hier:
https://www.google.de/intl/de/remove.html
ps: Session id für Spider killen...
<?php
if ( ! stristr($_SERVER['HTTP_USER_AGENT'], 'Googlebot')
|| !stristr($_SERVER['HTTP_USER_AGENT'], 'slurp/cat')
):
session_name('s');
session_start();
endif;
?>
wenn man andere bots mit ausklammern will sollte man das am besten über eine variable regeln
Verfasst: 23.11.2007, 22:55
von satriani1234
bzgl. des dc auf gleicher domain bin ich der selben meinung wie der gast. denn ich denke google hat dieses problem schon längst erkannt und verifiziert dieses prob nicht mehr als dc.