Suchmaschinenoptimierung
   
 

SEMSEO Konferenz 2012
 

 
 

PHP und 301

Neues Thema eröffnen   Neue Antwort erstellen    ABAKUS Foren-Übersicht -> Weiterleitungen und mod_rewrite
 Sumafreundliche .hatccess Weiterleitung ohne DC Direkt von der Startseite intern weiterleiten  
volksöl 3,5%

pr


: 25.07.2009
: 19



: 02.03.2010, 10:32    : PHP und 301 Antworten mit Zitat

Hallo zusammen,

ich habe in der Forensuche nichts gefunden, daher hier meine Frage:

Ich habe eine 301 Weiterleitung mit PHP realisiert, da es bei meinem Hoster Probleme mit der htaccess gibt. (Ich weiß, ich weiß )

Folgender Code:
Code:
<?php
header("Location: http://www.neuedomain.de");
?>


Ist das für G wirklich genau gleichwertig wie eine htaccess Weiterleitung?

Gruß Atze
Nach oben
volksöl 3,5% Private Nachricht senden
w3news

pr


: 10.10.2006
: 939
: Berlin


: 02.03.2010, 10:54    : PHP und 301 Antworten mit Zitat

Mach das mal lieber so:

Code:
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://domain.de");
header("Connection: close");


Zu deiner Frage: Ja, es ist genauso gleichwertig, Google kann nicht erkennen, ob da per htaccess oder PHP umgeleitet wird, das pasiert ja auf dem Server.

MfG Lars

News, Tarife und Mobilfunk: w3news.de
Mobile Datenflatrates
Nach oben
w3news Private Nachricht senden E-Mail senden
Mork vom Ork

pr


: 08.07.2008
: 2568
: Aufm Friedhof.


: 02.03.2010, 11:31    : PHP und 301 Antworten mit Zitat

w3news hat Folgendes geschrieben:
Mach das mal lieber so:

„Mach das mal lieber“ ist dezent ausgedrückt, was er da gemacht hat, ist keine 301-, sondern eine 302-Weiterleitung.

:
Code:
header("Connection: close");

Überflüssig, wenn nicht sogar schädlich.

Woher kommt eigentlich das weit verbreitete Bedürfnis, jegliche protokolleigenen Optimierungsversuche zu Boden zu trampeln? Der Unsinn, alles und jedes mit no-cache und Expires:0 auszuliefern, kommt ja aus derselben Kiste.
Nach oben
Mork vom Ork Private Nachricht senden
w3news

pr


: 10.10.2006
: 939
: Berlin


: 02.03.2010, 11:38    : PHP und 301 Antworten mit Zitat

Kannst Du mir kurz das mit dem Connection: close erklären, warum das schädlich sein kann?

MfG Lars

News, Tarife und Mobilfunk: w3news.de
Mobile Datenflatrates
Nach oben
w3news Private Nachricht senden E-Mail senden
volksöl 3,5%

pr


: 25.07.2009
: 19



: 02.03.2010, 11:43    : PHP und 301 Antworten mit Zitat

Mork vom Ork hat Folgendes geschrieben:
Code:
header("Connection: close");

Überflüssig, wenn nicht sogar schädlich.


Danke Mork und w3news für Eure Hilfe.
Nur um sicher zu gehen, ist das dann so richtig?

Code:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.neuedomain.de");
?>


Gruß Atze
Nach oben
volksöl 3,5% Private Nachricht senden
Mork vom Ork

pr


: 08.07.2008
: 2568
: Aufm Friedhof.


: 02.03.2010, 12:12    : PHP und 301 Antworten mit Zitat

w3news hat Folgendes geschrieben:
Kannst Du mir kurz das mit dem Connection: close erklären, warum das schädlich sein kann?

HTTP 1.1 sieht vor, die Netzwerkverbindung zwischen Browser und Server nach einer Abfrage für weitere aufrecht zu erhalten. Hat der Browser zB / abgerufen und vom Server erhalten, kann er über dieselbe Verbindung gleich im Anschluss /basis.css abrufen und danach weitere Daten.

Connection: close schaltet diesen Mechanismus ab, die Verbindung wird zwangsweise geschlossen – was etwas doof ist, wenn danach weitere Daten von demselben Server abgerufen werden sollen.
Stell' dir vor, du möchtest mehrere Sachen aus einem Haus holen und musst für jedes einzelne Teil die Tür wieder aufschließen. Die Auf- und Zuschließerei ist völlig unnütze Arbeit, die nur aufhält. Connection: close ist quasi wie die Anweisung, nachdem du aus dem Haus kommst, die Tür wieder abzuschließen.

Nun entsteht zwar durch den zusätzlichen Aufwand auf Verbindungsebene ein Schaden in Form höherer Last, aber es ist sicherlich keine Katastrophe, der Benutzer wird davon in aller Regel nicht einmal etwas merken. Nichtsdestotrotz hast du von diesem Zusatzaufwand auch keinerlei Vorteil. Null. Nada. Niente. Also warum überhaupt damit anfangen? Wozu sich um Dinge kümmern, die von alleine wunderbar funktionieren?

Alle Browser sind in der Lage, ihre Verbindungen eigenständig zu verwalten, das sollte man ihnen auch lassen.
Nach oben
Mork vom Ork Private Nachricht senden
Mork vom Ork

pr


: 08.07.2008
: 2568
: Aufm Friedhof.


: 02.03.2010, 12:18    : PHP und 301 Antworten mit Zitat

volksöl 3,5% hat Folgendes geschrieben:
Nur um sicher zu gehen, ist das dann so richtig?
Code:
<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.neuedomain.de");
?>

Ja.
Nach oben
Mork vom Ork Private Nachricht senden
volksöl 3,5%

pr


: 25.07.2009
: 19



: 02.03.2010, 12:33    : PHP und 301 Antworten mit Zitat

Dankeschön

Gruß Atze
Nach oben
volksöl 3,5% Private Nachricht senden
w3news

pr


: 10.10.2006
: 939
: Berlin


: 02.03.2010, 13:41    : PHP und 301 Antworten mit Zitat

@MvO
Gut, hab mal alle weggelöscht... [funktioniert sogar noch ]

MfG Lars

News, Tarife und Mobilfunk: w3news.de
Mobile Datenflatrates
Nach oben
w3news Private Nachricht senden E-Mail senden
800XE

pr


: 02.12.2004
: 5121
: XENEVU


: 02.03.2010, 13:56    : PHP und 301 Antworten mit Zitat

was ist mit einem
Code:
exit();

Das Script läuft doch nach dem "header Location" noch weiter?


und der "connection close" ist hier wohl, in diesem Anwendungsfall, kein fehler ....
... wenn es auf eine Andere Domain geht, dann will ich ja von dort nichts mehr

Mork vom Ork hat Folgendes geschrieben:
w3news hat Folgendes geschrieben:
Kannst Du mir kurz das mit dem Connection: close erklären, warum das schädlich sein kann?

HTTP 1.1 sieht vor, die Netzwerkverbindung zwischen Browser und Server nach einer Abfrage für weitere aufrecht zu erhalten. Hat der Browser zB / abgerufen und vom Server erhalten, kann er über dieselbe Verbindung gleich im Anschluss /basis.css abrufen und danach weitere Daten.

Connection: close schaltet diesen Mechanismus ab, die Verbindung wird zwangsweise geschlossen – was etwas doof ist, wenn danach weitere Daten von demselben Server abgerufen werden sollen.
Stell' dir vor, du möchtest mehrere Sachen aus einem Haus holen und musst für jedes einzelne Teil die Tür wieder aufschließen. Die Auf- und Zuschließerei ist völlig unnütze Arbeit, die nur aufhält. Connection: close ist quasi wie die Anweisung, nachdem du aus dem Haus kommst, die Tür wieder abzuschließen.

Ich hab die Erfahrung gemacht, wenn du zwei Webseiten miteinander quastschen läßt ...
.... Eine holt sich Daten von der Anderen

Dann muß die 2te nach dem "echo" (bzw dafor) einen connection close machen ....
.... sonst wartet das ganze noch 20 Sekunden ob der Kurier nochmal durch die Tür kommt ....
.... das wirkt sich auch auf Website 1 aus, den die hat zwar die Daten schon .... aber muß 20 Sekunden warten bis Website 2 sagt "ok, ich hab nix mehr für dich"

aber nur ... /Affilitiv/ ... innovativ
Nach oben
800XE Private Nachricht senden WWW
Mork vom Ork

pr


: 08.07.2008
: 2568
: Aufm Friedhof.


: 02.03.2010, 16:21    : PHP und 301 Antworten mit Zitat

800XE hat Folgendes geschrieben:
was ist mit einem
Code:
exit();

Das Script läuft doch nach dem "header Location" noch weiter?

In dem angefragten Skript

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.neuedomain.de");
?>

ist nach der zweiten header()-Zeile ja auch noch viel weiterzulaufen … Mal abgesehen davon spricht nichts dagegen, dass das Skript noch weiterläuft, vielleicht möchte man ja noch irgendwelche Verwaltungs- oder Protokollierungsaufgaben erledigen.

:
und der "connection close" ist hier wohl, in diesem Anwendungsfall, kein fehler ....
... wenn es auf eine Andere Domain geht, dann will ich ja von dort nichts mehr

Wenn eine HTML-Seite unter example.com/ Werbung über example.com/werbung.php einbindet und dieses PHP-Skript eine Weiterleitung an den eigentlichen Werbeanbieter ausgibt, bedeutet das noch lange nicht, dass die Domain example.com damit endgültig abgearbeitet ist und verlassen wird. Es können sich neben der Werbung noch Dutzende andere Grafiken, CSS-, Javascript- oder sonstwas für Daten in example.com/ befinden, die nach der Werbegrafik (-weiterleitung) abgerufen werden, um die Seitendarstellung zu vervollständigen.

Üblicherweise sieht es dann so aus, dass der Browser für die neue Domain eine weitere Verbindung aufmacht und die bestehende example.com-Verbindung, über die die Weiterleitung kam, parallel dazu für die weiteren Daten von example.com verwendet.

Wie ich bereits schrieb: Überlasse das Denken dem Browser, der kann das besser.

:
Ich hab die Erfahrung gemacht, wenn du zwei Webseiten miteinander quastschen läßt ...
.... Eine holt sich Daten von der Anderen

Dann muß die 2te nach dem "echo" (bzw dafor) einen connection close machen ....
.... sonst wartet das ganze noch 20 Sekunden ob der Kurier nochmal durch die Tür kommt ....

Ich möchte mal behaupten, dass zwischen dem Apache-Webserver oder den Browsern der großen Hersteller einerseits und irgendwelchen zusammengefrickelten PHP-Skripten andererseits doch ein ganz gewaltiger Unterschied besteht.

:
das wirkt sich auch auf Website 1 aus, den die hat zwar die Daten schon .... aber muß 20 Sekunden warten bis Website 2 sagt "ok, ich hab nix mehr für dich"

Im HTTP-Protokoll gibt es kein "Ich habe nichts mehr für dich". Die Datenpakete sind klar abgegrenzt, entweder durch die zwingend erforderliche Längenangabe oder durch das TCP-Verbindungsende. Wenn Webseite 1 noch eine Ewigkeit auf Daten wartet, obwohl sie bereits alles erhalten hat, was sie haben wollte, dann ist Webseite 1 schlichtweg fehlerhaft – mal ganz abgesehen davon, dass man üblicherweise die Wartezeit auf Daten mit anderen Dingen füllt, anstatt den kompletten Ablauf zu blockieren. Oder kurz: Webseite 1 ist Pfusch.

Wegen solchem Privatpfusch anständige Software, in diesem Falle: so ziemlich alle Webbrowser, auszubremsen, ist widersinnig.
Nach oben
Mork vom Ork Private Nachricht senden
TBT

pr


: 13.02.2008
: 229



: 02.03.2010, 16:47    : PHP und 301 Antworten mit Zitat

wieso so umständlich?
Der header-Befehl bei PHP hat einen 2.Parameter, welcher den Statuscode beinhaltet!
Code:

header( "Location: http://domain.de", 301 );

für eine saubere 301-Weiterleitung reicht

PHP 2 AllGoogle Spam CheckOnline Sitemap Checkkein SEO Blog!
Nach oben
TBT Private Nachricht senden
Mork vom Ork

pr


: 08.07.2008
: 2568
: Aufm Friedhof.


: 02.03.2010, 19:34    : PHP und 301 Antworten mit Zitat

TBT hat Folgendes geschrieben:
Der header-Befehl bei PHP hat einen 2.Parameter, welcher den Statuscode beinhaltet!
Code:
header( "Location: http://domain.de", 301 );
für eine saubere 301-Weiterleitung reicht

Nein, es handelt sich um den dritten Parameter, der zweite hat eine andere Bedeutung und deine Zeile da oben tut nicht das, was sie soll (gibt 302 aus statt 301). header( "Location: http://domain.de", true, 301 ); wäre richtig.

Aber kennen tat ich den auch noch nicht :)
Nach oben
Mork vom Ork Private Nachricht senden
TBT

pr


: 13.02.2008
: 229



: 02.03.2010, 20:10    : PHP und 301 Antworten mit Zitat

Sorry, mein Fehler!
Ist natürlich der 3. Parameter

PHP 2 AllGoogle Spam CheckOnline Sitemap Checkkein SEO Blog!
Nach oben
TBT Private Nachricht senden
Neues Thema eröffnen   Neue Antwort erstellen    ABAKUS Foren-Übersicht -> Weiterleitungen und mod_rewrite
Seite 1 von 1

 






Suchmaschinenoptimierung | Latent Semantische Optimierung (LSO) | SEO Blog | SEO Online Tools | Suchmaschinenmarketing Angebot | Online Marketing

Impressum

Dieses SEO Forum läuft unter phpBB.


Sie lesen gerade: PHP und 301