.htaccess und Permalinks = Internal Server Error

  • Hey Leute,

    habe vorhin ein frisches WP installiert und auch an die Sicherheit gedacht - heißt, ich habe eine .htaccess und eine .hpasswd angelegt.

    Die Installation befindet sich in einem Unterverzeichnis. Beide Dateien habe ich entsprechend angepasst und es hat auch alles wunderbar funktioniert.

    Dann habe ich in WP die Permalink-Struktur so geändert, dass nach meiner Domain direkt der Artikelname angezeigt wird. Es kam die Meldung, dass ich nun auch die .htaccess anpassen soll.

    Habe also den Pfad geändert, aber seitdem bekomme ich nur noch die Meldung über einen Internal Server Error. Nehme ich die .htaccess vom Server, so kann ich mich wieder normal einloggen.

    Jemand eine Idee, woran das liegt und was ich machen könnte? Habe Google befragt, aber da wurde immer wieder auf eine andere .htaccess verwiesen, die mir nicht bekannt ist. Im Root-Verzeichnis (also in dem Unterverzeichnis) liegt auch nur meine eigene .htaccess

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Also anscheinend muss ich in die gleiche Datei, in der auch die Berechtigungen für die wp-login.php etc. liegen, auch folgenden Code eingeben:

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    Ist das tatsächlich so? Falls ja, kommt dieser Code vor oder nach den Anweisungen für die Berechtigungen?

    Hier mal eine kurze Übersicht:
    WP-Adresse: http://www.url.de/name_vom_unterverzeichnis
    Seiten-Adresse: http://www.url.de
    Permalink-Struktur: /%category%/%postname%/

  • Okay, hier mal der Inhalt der ursprünglichen .htaccess

    <Files wp-login.php>
    AuthName "Admin-Bereich"
    AuthType Basic
    AuthUserFile /var/www/vhosts/URL/httpdocs/NAME_VOM_UNTERVERZEICHNIS/.htpasswd
    require valid-user
    </Files>

    <FilesMatch "(.htaccess|.htpasswd|wp-config.php|liesmich.html|readme.html)">
    order deny,allow
    deny from all
    </FilesMatch>

    Der Inhalt wurde so von einem Blogartikel von Sergej Müller übernommen. Hat auch alles geklappt und gepasst, bis ich die Permalinkstruktur von WordPress verändert habe.

  • Jepp ... ich dachte mir, dass Du den Artikel genommen hast.

    Nur, Copy & Paste ist in diesem Fall nicht Dein Freund, bzw. Du musst schon verstehen, was Du machst.

    Die Anweisungen mit FilesMatch unterbinden ja die Anpassung der htaccess durch WordPress (eigentlich durch "alles"), deshalb wurde Dir von WordPress auch gesagt, dass Du die .htaccess selbst ändern musst, wenn Du die von Dir genannte Permalinkstruktur umsetzen willst. Der von Dir zuerst zitierte Code wird sonst nämlich von WordPress da hineingeschrieben - was aus dem eben genannten Grund nicht geht.

    Also, nimm mal kurzfristig den Teil mit FilesMatch aus der .htaccess raus, lass WordPress seinen Teil schreiben zu den Permalinks und setze danach das Teil mit FilesMatch wieder rein.

    Gutes Gelingen ;)

  • Den Teil habe ich nun entfernt:

    <FilesMatch "(.htaccess|.htpasswd|wp-config.php|liesmich.html|readme.html)">
    order deny,allow
    deny from all
    </FilesMatch>

    Gehe ich jetzt in das Optionsmenü für die Permalinks, so bekomme ich wieder die Meldung, die Datei sei nicht beschreibbar. Habe die Dateirechte auf 666 gesetzt, aber trotzdem ändert sich nichts - es heißt weiterhin, die Datei sei nicht beschreibbar und ich solle den Code aus Post #2 manuell einfügen.

  • Habe jetzt mal die .htaccess komplett geleert, den Inhalt aus dem WordPress eingefügt, abgespeichert, Dateirechte auf 777 gesetzt und aktualisiert - im WordPress heißt es trotzdem, die Datei sei nicht beschreibbar...

  • Dann stimmt der Besitzer der Datei nicht. Bevor man etwas auf chmod 777 setzt, sollte man erst mal lesen, was dies für evtl. Auswirkungen haben könnte.

  • Welchen Webhoster hast Du? Wenn alles andere richtig ist (Dateirechte 777 müsste sich grundsätzlich sofort auswirken), kann das fast nicht sein.

    Ich habe mal Tante [URL="https://www.google.ch/#hl=de&biw=160…0&bpcl=37189454"]Google[/URL] bemüht, besonders möchte ich Dir den Artikel hier auch empfehlen. Aber, wie gesagt, grundsätzlich muss es gehen, wenn Dateirechte stimmen und das Beschreiben nicht durch eine Anweisung in der htaccess selbst verhindert wird.

    Hille: zu Deiner Aussage zu CHMOD 777 - grundsätzlich stimme ich Dir zu, aber als Test ist es vorübergehend sicherlich nicht verkehrt. Das der Besitzer nicht erkannt wird, daran habe ich nicht gedacht - allerdings ist mir das schon seit Ewigkeiten nicht mehr untergekommen als Fehlerursache. Trotzdem, danke für den Hinweis, ganz ausschliessen kann man das auch nicht.

  • Ich nutze lahno-webhosting.de - ein sicher nicht so bekannter Hoster, aber in Sachen Preis & Leistung spitze. Habe dort jetzt auch mal eine Supportanfrage gestellt.

    Das Netz spuckte noch aus, dass mod_rewrite aktiv sein muss - ist es bei mir, habe gerade eine phpinfo.php auf den Server geladen.

    Es ist aber richtig, dass ich die .htaccess nicht im eigentlich Root-Verzeichnis liegen habe, sondern in dem Verzeichnis, in dem auch WP liegt oder? Zumindest hatte es so vorher funktioniert.

    Wie sieht es wegen dem Dateibesitzer aus? Über das Webinterface habe ich ja nichts an den Dateien verändert, sondern immer nur über den FTP-Zugang. Kann hier trotzdem der Fehler liegen?

  • Also, es funktioniert jetzt :)

    Mein Hoster sagte mir, der Webspace würde auf Apache laufen - er hat ihn jetzt auf CGI umgestellt.

    Die Permalinkstruktur konnte problemlos geändert werden. Es wurde auch eine zusätzliche .htaccess im Root-Verzeichnis angelegt (vllt. lag hier das Problem), wie ich gesehen habe.

    Jetzt meine Frage: Bringt mir CGI in Bezug auf WordPress jetzt irgendwelche bekannten Vor- oder Nachteile?

  • Noch eine Anmerkung zu den Dateirechten.

    Für normale Dateien ist, wenn überhaupt, 666 richtig. 777 wird für Verzeichnisse oder ausführbare Dateien verwendet (z.B. Perl-Skripte). Die .htaccess-Datei ist aber weder eine Verzeichnis noch eine ausführbare Datei.

    Gruß
    Ingo

    Wenn ich helfen konnte, bitte [ Gefällt mir ] klicken. :-)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!