Fehler "nicht gefunden oder nicht statierbar" in Apache-Protokollen und Unterschied in httpd.conf und Site Document Roots


7

Ich erhalte jeden Tag viele dieser Fehler in meinem Apache-Fehlerprotokoll:

[Fehler] [Client 127.0.0.1] Skript '/var/www/html/wp-cron.php' nicht gefunden oder kann nicht stat

und ich frage mich, ob es etwas mit meiner httpd.conf zu tun hat, da mein DocumentRoot auf "/ var / www / html" eingestellt ist, sich meine WordPress-Site (s) jedoch in einem Top-Verzeichnis namens httpdocs befinden, nicht in HTML. wp-cron.php existiert, aber es befindet sich in httpdocs, nicht in HTML, und es gibt kein HTML-Verzeichnis. Es gibt mehrere WordPress-Sites und -Domänen auf dem VPS und auf der IP.

Es gibt keine anderen Fehler wie diese in den Protokollen, und WordPress scheint gut zu laufen. Aber ich möchte diese Fehler beheben, da dies eine zusätzliche Belastung für den Server darstellt.

Gibt es eine Möglichkeit, eine Weiterleitung oder einen Alias ​​in httpd.conf hinzuzufügen, damit wp-cron.php gefunden werden kann? Oder ist das eine andere Sache mit einer anderen Lösung?

Bearbeiten: Die Antwort gefunden; Problem waren Hosts-Dateieinträge: Hosts-Dateieinträge für mehrere Domains auf VPS?

Antworten:


6

Die DocumentRootin httpd.conf ist wahrscheinlich die Standardeinstellung für alle Hosts, die nicht von einem virtuellen Host verarbeitet werden. Zum Beispiel Anfragen nach der IP-Adresse.

Sie können festlegen DocumentRoot, dass die Site mit der Standardwebsite identisch ist (wenn Sie dies für Anforderungen an die IP-Adresse wünschen), oder Sie verwenden a RewriteRule, um die Anforderung entweder in der httpd.conf oder in der .htaccessDatei an die Hauptwebsite zurückzuschreiben :

<Directory /var/www/html>  
    RewriteRule wp-cron.php http://yourdomainname.com/wp-cron.php [R=301]  
</Directory>

Ohne zu wissen, was das Skript ist oder wo es anderswo existiert, ist es nicht einfach zu beraten. Ein Symlink könnte es auch beheben, aber Berechtigungen könnten Ihnen im Weg stehen.


Das macht Sinn. Die Datei existiert, außer in httpdocs, nicht in HTML. Und es gibt mehrere Installationen von Wordpress unter verschiedenen Domänen, daher denke ich, dass sie alle zu unterschiedlichen Zeiten wp-cron.php aufrufen. Sollte ich diese 301-Umleitung zu jedem .htaccess in jedem Wordpress-Verzeichnis hinzufügen?
Markratledge

Es wäre sinnvoller, festzustellen, warum es jeden Tag aufgerufen wird, und dann die Quelle zu reparieren. Wenn Sie dies jedoch nicht tun können, sollte nur eine 301-Umleitung in / var / www / html ausreichen.
James L

Es ist Wordpress; Dieser Cron-Anruf erfolgt mindestens alle paar Stunden. Aber ich habe kein HTML-Verzeichnis, also könnte ich wohl eines erstellen und dort eine 301-Umleitung in eine .htaccess-Datei einfügen?
Markratledge

Wenn Sie kein / var / www / html haben, müssen Sie Ihre Standarddokumentwurzel korrigieren, damit sie nicht dorthin zeigt.
James L

Wenig zögernd, den Doc-Stamm zu ändern und möglicherweise alles zu entfernen. Wie soll meine etc / hosts-Datei aussehen? Es gibt mehrere Sites auf einer IP, und insbesondere die Haupt-Site ist nicht in Hosts aufgeführt.
Markratledge

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.