Support » Installation » .htaccess wird ständig falsch erneuert

  • Gelöst mumbomedia

    (@mumbomedia)


    Hallo

    wir haben beim Erstellen unserer neuen Webseite https://www.mumbomedia.de/werbeagentur ein merkwürdiges .htaccess-Problem.
    Nach jedem Seitenaufruf wird die .htaccess überschrieben und statt /werbeagentur als RewriteBase steht dort /. Darüberhinaus sind die Rechte von korrekten 644 auf 444 gesetzt. Der nächste Klick auf einen Menüpunkt landet auf die derzeite Webseite https://www.mumbomedia.de/cms/

    Das System habe ich nochmal neu aufgesetzt und die Daten aus dem alten System via Import-Funktion von WordPress (WordPress-XML) importiert.
    Soweit ich ermitteln konnte wird die Datei von /wp-includes/rewrite.php geändert. Irgendjemand eine Idee woran das liegen kann.

    PHP-Version ist 5.5

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 27)
  • ich fand heraus, dass alle error 404 von /werbeagentur/ bei /cms/landen,
    nehme daher an, dass es hier einen Mischmasch an htaccess Einträgen gibt

    was steht unter
    Dashboard => Einstellungen ==> Allgemein als WordPress-Adresse (URL) und was bei Website-Adresse (URL)

    weil alle Permalinks unter /werbeagentur/ dürften einen error 404 liefern, der nicht gesehen wird, weil diese auf /cms/ umgeleitet werden..

    htaccess löschen,
    Permalinks speichern und WP eine erstellen lassen…
    was passiert dann.
    etwaige Cache Plugins vorher leeren.

    ich geh aber noch Sicherheit testen

    https://sitecheck.sucuri.net/results/www.mumbomedia.de/werbeagentur/

    hier scheint es keine bekannten Sicherheitsmängel zu geben,
    doch auch wenn ich dem Tool vertraue ist die Sicherheit zu prüfen.

    Unabhängig,dass ich es fatal finde, wenn error 404 auf die Startseite geleitet werden => wollt ihr die aus dem Index der Suchmaschinen geben oder dort als „nicht korrekt“ ausliefern?

    was ich tun würde
    die Ordner wp-admin und wp-includes vom Server löschen,
    WP komplett neu runterladen und diese Folder neu hochladen
    danach alle Dateien von WP im Root löschen, und eine neue wp-config.php hochladen mit den alten Daten, neuen Security Codes
    das Theme durchleuchten, die Ordner wp-content/uploads durchleuchten

    ich kenne so ein Verhalten auch von einem Backdoor…
    naja und die Lücke finden …

    Danke Monika, für die schnelle Rückmeldung

    Die WordPress und die Website-Adresse ist https://www.mumbomedia.de/werbeagentur.
    Das sollte also passen.

    Was meinst du mit durchleuchten?
    Das WordPress-System habe ich erst vor 3 Tagen neu aufgesetzt.
    Daher halte ich es für unwahrscheinlich, dass dort etwas nicht stimmt.

    Zum Thema .htaccess-Misch-Masch
    Das war auch schon mein erster Gedanke. Daher habe ich die Datei mal testweise umbenannt / gelöscht. Der Fehler blieb aber bestehen.
    Nur mal so zum Verständnis:
    Sobald eine Anfrage rein kommt, schaut doch der Apache zunächst im Root-verzeichnis nach ob er dort eine .htaccess findet. Wird er dort fündig, so werden dessen Anweisungen geprüft und ausgeführt. Passt dort keine Anweisung so kommt die .htaccess des Unterordners zum Tragen. In diesem Fall also die im Ordner werbeagentur.

    Sehr merkwürdig.
    Wenn ich die .htaccess lösche und dann über das WordPress-Backend neu generiere, dann hat die Datei wieder die Rechte 444 und diesen fehlerhaften Code:
    `# BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    # END WordPress

    Die RewriteBase müsste doch statt / /werbeagentur sein?

    Nur so ein Gedanke: Könnte das Problem mit einer open_basedir-Restriktion zusammenhängen?

    open_basedir scheint wohl nicht der Grund zu sein.
    Die Direktive ist auf null gesetzt, d.h. deaktiviert.

    frage mal beim Hoster nach.

    hast du dir WP wirklich neu geholt und neu hochgeladen und vorher die von mir genannten Ordner am Webspace gelöscht.

    tu es bitte und schau, ob dann dieser Effekt wieder auftritt.

    und wenn du dir WP neu holst, dann bitte in einen neuen Ordner auf deinem Rechner, damit du beim Entpacken der zip Datei nicht die alten Ordner von wp einfach überschreibst.

    wenn man einen Fehler nicht findet schließt man alle Wahrscheinlichkeiten und Unwahrscheinlichkeiten, die aber denkbar sind einfach aus.

    und suche wieso error 404 auf der Startseite landet, das muss wo festgelegt sein, das ist kein normales Verhalten.

    Hallo Monika

    ja ich habe WP neu geholt und hochgeladen.
    Ich habe jetzt mal folgendes probiert.
    Aus dem Backend von WordPress unter Dashboard->Aktualisierungen kann man WordPress neuinstallieren.
    Das hab ich gemacht und nun scheint alles zu funktionieren.

    Ich muss noch einige Daten, die der Import nicht übertragen hat einpflegen.
    Dies sind u.a die Revolution Sliders und andere Inhalte die mit zusätzlichen Plugins erstellt wurden.
    Auch muss ich natürlich noch sicherstellen, dass alle Inhalte über HTTPS geladen werden, da Firefox und IE da sehr pingelig sind und die Inhalte sonst nicht anzeigen.

    super!
    du fandst den Weg
    frage dennoch mal beim Hoster nach, der könnte oder müßte dir genau erklären können wieso das so ist 🙂

    toi toi weiterhin!

    und wenn dein Prob gelöst ist, markiere diesn Thread auch als gelöst //resolved => danke!

    Das mit dem Hoster glaube ich nicht.
    Denn ihn hatte ich ja zuerst gefragt, bevor ich mich hier im Forum angemeldet habe.
    Er konnte lediglich feststellen, dass die .htaccess von WordPress selbst und zwar von /wp-includes/rewrite.php geändert wurde.
    Danach habe ich in allen Funktionen mal ein file_put_contents eingebaut um herauszufinden warum. Die Ausgabe ergab das es wohl die Funktion wp_resolve_numeric_slug_conflicts war, die das Überschreiben der .htaccess veranlasst hat.
    Ich vermute mal sehr stark, dass beim Hochladen etwas schiefgegangen ist.
    Evtl. wurden die Rechte falsch gesetzt.
    Da die Installation nun nochmal über PHP gemacht wurde, kann es dioch durchaus sein, dass PHP die Rechte korrigiert hat.
    PHP 5.5 ist was Rechte angeht, ja sehr penibel.
    Hatte in dem Zusammenhang auch schon mal einen Fatal Server Error weil Verzeichnisse / Dateien die falschen Rechte hatten.

    ja das mit den Dateirechten hätte dir dein Hoster erklären können 🙂
    hat ja was damit zu tun wer was macht, ob der FTP Nutzer was darf oder „php“

    Das mit den Rechten hat mir unser Hoster schon erklärt.
    Dateien müssen 644 haben, Verzeichnisse 755.
    Aber auch Besitzer und Gruppe sind wichtig.
    Wie auch immmer. Die Hauptsache für mich ist, dass das Problem ist endlich behoben ist. Nun kann unsere neue Webseite endlich online gehen.

    Vielen Dank nochmal Monika für die schnelle Hilfe.
    Wäre ich so schnell nicht drauf gekommen.

    Mist, zu früh gefreut.

    Der Fehler ist leider wieder da.
    Es gibt auch der Seite den Custom Post Type portfolio.
    Das ist Bereich auf der Startseite unter „Achtung: Erfahrung aus über 25 Jahren“.
    Nachdem ich auf einem dieser Links geklickt habe, war der Fehler wieder da.
    Könnte es sein, dass sich da Permalinks evtl. überschneiden und WordPress daher nicht die Seite korrekt zuordnen kann?

    bei einem Custom Post Type sollte man die Permalinks neu speichern,

    nochmals: normalerweise müßte kommen: error 404 Seite nicht gefunden,
    aber all diese Error 404 Seite nicht gefunden werden auf die domain.ltd/cms/ weitergeleitet
    das ist fatal,
    auch für das Gefunden-werden bei Suchmaschinen,

    suche wo dies so umgeleitet wird, das ist nicht Standard,
    daher wirst du bei der Fehlersuche in WP immer in die falsche Richtung des Fehlers geschickt.

    Habe nun mal die entsprechenden Rewrite-Regeln in der .htaccess des Root-Verzeichnisses auskommentiert.
    Nun bekomme ich zwar folgenden Fehler:
    Not Found

    The requested URL /index.php was not found on this server.

    Aber damit bin ich auch nicht schlauer.
    Logisch das diese Meldung kommt, da ja wie ich schon geschrieben habe
    Die Rewritebase auf / und die Anweisung RewriteRule . /werbeagentur/index.php [L] auf RewriteRule . /index.php [L] geändert wird sowie die Rechte auf nur Lesen (444).

    Dies ist aber nur das Symptom und nicht die Ursache.
    Wichtig ist, warum meint WordPress überhaupt die .htaccess erneuern zu müssen.
    ICh hoffe, dass ich durch das Einfügen folgender PHP-Anweisung file_put_contents(trailingslashit(ABSPATH)."debug.txt","Debug START".PHP_EOL.var_export(debug_backtrace(),true).PHP_EOL."Debug END".PHP_EOL, FILE_APPEND); schlauer werde. Diese habe ich in alle Funktionen der wp-includes/rewrite.php eingefügt.
    Jeder Aufruf der Datei erzeugt somit einen Logeintrag in der debug.txt, den ich dann überprüfen kann und so hoffentlich die Quelle des Übels finde.
    Bin mittlerweile echt genervt davon.

    Wie ich ermitteln konnte, werden die Rewrite-Rules über die Funktion insert_with_markers in /wp-admin/includes/misc.php neu geschrieben.

    Habe hier ebenfalls mal ein file_put_contents eingefügt.
    Durch die PHP-Funktion debug_backtrace sollte ich eine ausschlussreiche Ablaufverfolgung bekommen und so hoffentlich nachvollziehen können was oder warum die .htaccess neu geschrieben wird.

Ansicht von 15 Antworten - 1 bis 15 (von insgesamt 27)
  • Das Thema „.htaccess wird ständig falsch erneuert“ ist für neue Antworten geschlossen.