Setzt allerdings voraus, das beim Apache mod_alias geladen ist.
Aber ansonsten nette Sache, danke für den Hinweis. Werde das bei mir mal einbauen.
Gruß
Ingo
Um schreiben oder kommentieren zu können, benötigen Sie ein Benutzerkonto.
Sie haben schon ein Benutzerkonto? Melden Sie sich hier an.
Jetzt anmeldenHier können Sie ein neues Benutzerkonto erstellen.
Neues Benutzerkonto erstellenSetzt allerdings voraus, das beim Apache mod_alias geladen ist.
Aber ansonsten nette Sache, danke für den Hinweis. Werde das bei mir mal einbauen.
Gruß
Ingo
Geht es hier darum, dass dies ein Wordpress Problem ist??
Übrigens ein Provider Problem ist es auch nicht, sondern nur dein eigenes. ;-)
Na gut, dann hau ich auch nochmal drauf ;-)
Im Titel wird das eindeutig Wordpress zugeschrieben:
wordpress produziert von haus aus DC !
Und ich habe ja auch nicht geschrieben, das es ein Provider-Problem ist. Sicher ist es letztendlich mein Problem, aber mein Hoster verursacht es, da er ungefragt eine (virtuelle) Subdomain www einrichtet.
Aber ich glaube, wir driften hier jetzt in Wortklauberei ab.
Ich bin zumindest der Ansicht, daß die Aussage, WP produziere von Hause aus DC, einfach falsch ist. Ob nun mit www oder index.php, es stimmt beides nicht.
Gruß
Ingo
Ja aber das mit www oder ohne ist doch nun beileibe kein Wordpress-Problem.
Dafür sind die Hoster verantwortlich. Ich habe auch nur die Domain putzlowitsch.de bestellt und keine Subdomain www eingerichtet. Aber dennoch existiert diese. Persönlich bin ich übrigens Fan der Kurzform ohne www und verwende auch nur diese. Wenn aber jemand unbedingt auf www·putzlowitsch·de verlinkt, kann ich demjenigen das nicht verbieten.
Probleme habe ich deswegen noch nicht festgestellt. Anders bei der Bildersuche, da bin ich grad von meinem ersten Platz ganz raus geflogen.
Allerdings habe ich mich da selber mit einer anderen meiner Seiten rausgekegelt :-) Ist aber schon interessant zu sehen, wie das alles so funktioniert.
Gruß
Ingo
Dann dürfte es sich wohl doch nicht um Trackback-Spam handeln, denn die wp-trackback.php ist da gnadenlos:
$pingstatus = $wpdb->get_var("SELECT ping_status FROM $wpdb->posts WHERE ID = $tb_id");
if ( 'open' != $pingstatus )
trackback_response(1, 'Sorry, trackbacks are closed for this item.');
Und weiter in der Funktion trackback_response($error ...):
if ($error) {
echo '<?xml version="1.0" encoding="utf-8"?'.">\n";
echo "<response>\n";
echo "<error>1</error>\n";
echo "<message>$error_message</message>\n";
echo "</response>";
die();
}
Da sollte eigentlich der Prozess definitiv beendet werden, ohne irgendwas weiter auszuführen.
Steht denn in der Datenbank tatsächlich bei allen Posts der ping_status auf nicht 'open'?
Gruß
Ingo
...
schaltest Du autoping aus, informierst Du auch keine Newscenter von Deinen neuen Artikeln
...
Das kann man so nicht sagen :-)
Wenn mit Newscentern die "Update Services" gemeint sind, die werden unabhängig von der oben genannten Option "Versuch jedes verlinkte Weblog vom Beitrag zu benachrichtigen" genau so, wie sie in der Liste bei "Einstellungen->Schreiben" aufgelistet sind, angepingt.
Funktioniert bei mir in der Praxis auch seit Monaten, ich werde bei neuen Artikeln oder Änderungen bei "frisch gebloggt" ganz normal angezeigt.
Gruß
Ingo
123 Multihost Version 0.15
Auf Grund eines mir erst jetzt aufgefallenen internen Fehlers (weiteres dazu hier) gibt es eine neu Version 0.15.
Zusätzlich kann über die neue Option “Hostname ermitteln” die “Strategie” zur Bestimmung des zu verwendenden Hostnamen festgelegt werden. Dies kann je nach Serverkonfiguration notwendig sein.
Nachtrag:
Die neue Version hatte ich gestern Abend leider falsch verlinkt. Jetzt stimmt es aber:
Putzlowitscher Zeitung » 123 Multihost
Gruß
Ingo
Och nee, da hab ich ja noch einen richtig dicken Klops in meinem Plugin, wie ich grad sehe. Deshalb wird es bei moneymakesmurder vermutlich auch nicht funktionieren.
Da schreibe ich noch so schön von 'HTTP_HOST' und verwende im Quelltext die überhaupt nicht existierende Variable 'HOST_NAME'.
Naja, Version 0.15 ist in Arbeit. Werde da gleich noch die Option reinnehmen, das der Nutzer bestimmen kann, was genommen wird.
Gruß
Ingo
Aha, na das mit dem HTTP_HOST stimmt so absolut, wie ich es dort geschrieben habe, nun auch wieder nicht.
Nach einigem hin und her im Ursprungsthread mit nepf, weil es dort nicht funktionierte, ist im Moment folgende Variante implementiert:
// Hostname, der verwendet wird
// falls 'HOST_NAME' gesetzt ist, diesen nehmen, sonst 'SERVER_NAME'
if( $_SERVER['HOST_NAME'] != "" )
$plw123mh_hostname = $_SERVER['HOST_NAME'];
else
$plw123mh_hostname = $_SERVER['SERVER_NAME'];
Man könnte das natürlich auch den User entscheiden lassen, was da genommen werden soll. Oder alternativ irgend was ganz anderes, was z.B. über ein Textfeld vorgegegeben wird. Kann ich ja mal noch einbauen.
Gruß
Ingo
moneymakesmurder
Freut mich natürlich, das Du das mir Arnos Hack hinbekommen hast. Andererseits würde mich schon interessieren, warum es mit dem 123-Multihost-Plugin nicht funktioniert hat. Schließlich will ich das ja auch weiter verbesserm und gegebenfalls den Wünschen der Nutzer anpassen.
arno
Apropos Userwünsche :-), wie meinst Du das mit den variablen Servervariablen? Hab ich nicht ganz verstanden.
Gruß
Ingo
Oh oh, ist mir das peinlich :oops:.
Da hatte ich mich doch im Übereifer beim Kampf gegen Spam und Bots selber, bzw. den armen, unschuldigen wp-cron ausgesperrt. Er wollte ja brav seinen Dienst verrichten, wurde aber von meiner .htaccess, respektive also von mir, mit einem 403er abgestraft.
Im Detail: Ich hatte vor ein paar Tagen in meiner .htaccess eine Regel eingefügt, die Zugriffe mit leerem [SIZE=-1]HTTP_USER_AGENT gnadenlos aussperrt, weil es mich genervt hatte, daß irgendwelche namenlosen Bots ständig alle Seiten durchklappern.
Der WP-Cron wird aber auch über einen normalen HTTP-Request aufgerufen und verzichtet sinnvollerweise auf jeglichen Schnickschnack wie Referer oder Useragent. Und schon wars passiert.
Kurz und gut, seitdem ich die lokale Zugriffe von meinem Filter ausnehme, ist wieder alles bestens.
Ungeachtet dessen funktioniert mein weiter oben beschriebener Hack ganz ordentlich und setzt den WP-Cron außer Gefecht. Allerdings auch mit den beschriebenen Nebenwirkungen.
Gruß
Ingo
[/SIZE]
Ja, hab ich so gemacht, aber auch erst vorhin. Zunächst war mir vor ein paar Tagen nur aufgefallen, das die Trackbacks nicht mehr versandt wurden. Dann bin ich dem Weg der Trackbacks im Programm nachgegangen und auf diese Pseudo-Cron-Geschichte gestoßen.
Das ich dann gestern auch über 600 Aufrufe der wp-cron.php hatte, habe ich erst heute beim Blick in das Server-Logfile gesehen. Leider hab ich da erst mir einem Tag verzögerung Zugriff.
Im übrigen kann man sehen, was alles zum "Cronen" ansteht, wenn man sich in der Tabelle wp-options den Inhalt der Option 'cron' ansieht. Sollte man eventuell auch einfach mal löschen, ich habe das zumidnest gemacht. Es hat je eh nicht funktioniert.
Allerdings wird mit meinem hack, so er denn funktioniert, die gesamte Cron-Funktionalität außer Kraft gesetzt. Ich weiß nicht, was außer Ping und Trackback sonst noch eventuell darüber abgewickelt wird.
Wie immer also alles auf eigene Gefahr und ohne Gew(ä|e)hr :-)
Gruß
Ingo
Es mach schon was aus, wenn die wp-cron.php nicht vorhanden ist. Zum Beispiel werden keine Pings und Trackbacks mehr versandt. Das eigentliche Problem dürfte aber darin liegen, daß dieses auch schon mit der wp-cron.php nicht richtig funktioniert hat. Denn so wird bei jedem Seitanaufruf versucht, die anstehenden "Cronjobs" auszuführen. Wenn das klappt, ist alles gut und die wp-cron.php wird bis zum nächsten neuenArtikel oder einer Änderung nicht mehr aufgerufen. Schlägt das Ausführen aber fehl, wird es immer und immer wieder versucht, was dann zu den unzähligen wp-cron-Aufrufen führt.
Ich habe das auch seit etwa zwei, drei Tagen.
Besser als das Umbennen wäre ein deaktivieren der Cron-Funktion. Könnte z.B. in der 'my-hacks.php' gemacht werden:
Bei den Einstellungen muß unter Verschiedenes noch
[x] Die veraltete my-hacks.php-Datei unterstützen.
aktiviert werden.
Gruß
Ingo
Ja genau, Auto-Ping ausschalten.
Wie gesagt, beim Ping wird der Inhalt aus der Umgebung des eigentlichen Links genommen, im Falle einer Linkliste am Ende eines Artikels halt nicht besonders sinnvoll.
Beim Trackback hingegegn werden die ersten 250 Zeichen vom Artikelanfang, oder so vorhanden, die Kurzfassung verwendet. Da sollt dann hoffentlich brauchbarer Text stehen :-)
Gruß
Ingo
Deshalb habe ich auch schon seit längerem die automatischen Pings für Artikel abgeschaltet, und nutze nur noch das Trackback-Feld bei Posten. Da muß man dann zwar die Trackbackadressen explizit eintragen, das Ergebnis ist aber einfach besser.
Beim Ping wird der Text 100 Zeichen vor und nach dem Link verwendet, beim Trackback hingegegn die ersten 250 Zeichen vom Artikelanfang, oder so vorhanden, die Kurzfassung.
Die Trackbackdaten (z.B. Titel) werden außerdem direkt aus der Datenbank erstellt, beim Ping hingegen wird die Artikelseite, also das was nachher auch der Betrachter sieht, geparst.
Gruß
Ingo
Ja, um diese Anpassungen in der Datenbank wird man wohl nicht drunrum kommen. Aber das ist mit ein paar SQL-Zeilen erledigt:
--
-- hostname in den Posts anpassen
--
UPDATE `wp_posts`
SET `post_content`=REPLACE(`post_content`,'http://alteurl.de','http://neueeurl.de')
WHERE `post_content` LIKE '%http://alteurl.de%';
--
-- hostname in GUID anpassen
--
UPDATE `wp_posts`
SET `guid`=REPLACE(`guid`,'http://alteurl.de','http://neueeurl.de')
WHERE `guid` LIKE '%http://alteurl.de%';
Alles anzeigen
Etwas komplizierter ist es da schon, die Metadaten der Uploads zu ändern. Hier ist jeweils der absolute Pfad der Datei auf dem Server hinterlegt. Falls dieser nicht stimmt, werden die Thumbnails für Bilder von der Uploadverwaltung nicht gefunden.
Das ist aber leider nicht so einfach mit einem SQL-Befehl zu erschlagen.
Hier die Erklärung, warum das so ist:
http://forum.wordpress-deutschland.org/82856-post10.html
Gruß
Ingo
Da bin ich jetzt ehrlich gesagt etwas ratlos. Der workaround hat bei mir so wie beschrieben funktioniert.
Und zur eigentlichen Fehlerbehebung muß wohl jemand von WP was sagen, da hab ich erstmal auch keine Idee.
Gruß
Ingo
Ja, allerdings ist das nur ein workaround, das eigentliche Problem behebt es nicht. Achtung, die Funktion kommt nicht in die functions.php im wp-include Verzeichnis, sondern in die im aktuellen Theme-Ordner!
Falls noch keine solche existiert, eine neue functions.php anlegen und folgendes hineinschreiben:
Falls schon eine existiert, einfach die Zeile do_all_pings(); direkt am Anfang unter dem öffnenden <?php einfügen.
Wenn man nun einmal die Blog-Seite aufruft, werden alle noch austehenden Pings und Trackbacks abgearbeitet. Man kann die Funktion anschließend wieder auskommentieren. Sie wird sonst bei jedem Seitenaufruf ausgeführt.
Was die eigentliche Ursache ist, weiß ich nicht. Es hängt zumindest mit der seit 2.1.x eingeführten Cron-Geschichte zusammen. Wenn man in der wp-options-Tabelle bei der Option 'cron' nachsieht, stehen die Pings zwar drin, werde aber, warum auch immer, nicht ausgeführt.
Es könnte was mit der Sommerzeit zu tun haben, denn seit der Zeitumstellung trat das Problem bei mir erstmalig auf, und besteht auch weiterhin.
Gruß
Ingo
Hatte ich kürzlich auch. Das liegt daran, das da irgendwas mit den Cron-Funktionen nicht hinhaut.
Man kann das Versenden der Trackbacks aber auch mit der Funktion do_all_pings() auslösen.
Ich hatte mir dann so beholfen, das ich diese Funktion in meinem aktuellen Theme in die functions.php eingetragen hatte. Dann wird beim nächsten Aufruf der Seit der Trackback-Versand ausgeführt. Anschließen habe ich es aber wieder rausgenommen.
Gruß
Ingo