1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

.htaccess und Permalinks = Internal Server Error

Dieses Thema im Forum "Konfiguration" wurde erstellt von nobody4life, 2. November 2012.

  1. nobody4life

    nobody4life Well-Known Member

    Registriert seit:
    18. September 2012
    Beiträge:
    252
    Zustimmungen:
    0
    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
     
  2. nobody4life

    nobody4life Well-Known Member

    Registriert seit:
    18. September 2012
    Beiträge:
    252
    Zustimmungen:
    0
    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: www.url.de/name_vom_unterverzeichnis
    Seiten-Adresse: www.url.de
    Permalink-Struktur: /%category%/%postname%/
     
  3. Domino5702

    Domino5702 Well-Known Member

    Registriert seit:
    30. April 2009
    Beiträge:
    2.634
    Zustimmungen:
    0
    Es wäre vielleicht von Vorteil, wenn Du die bestehende .htaccess hier uns zeigen könntest - ich kann mir das so nicht ganz vorstellen, was Du bisher gemacht hast.
     
  4. nobody4life

    nobody4life Well-Known Member

    Registriert seit:
    18. September 2012
    Beiträge:
    252
    Zustimmungen:
    0
    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.
     
  5. Domino5702

    Domino5702 Well-Known Member

    Registriert seit:
    30. April 2009
    Beiträge:
    2.634
    Zustimmungen:
    0
    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 ;)
     
  6. nobody4life

    nobody4life Well-Known Member

    Registriert seit:
    18. September 2012
    Beiträge:
    252
    Zustimmungen:
    0
    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.
     
  7. nobody4life

    nobody4life Well-Known Member

    Registriert seit:
    18. September 2012
    Beiträge:
    252
    Zustimmungen:
    0
    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...
     
  8. Hille

    Hille Well-Known Member

    Registriert seit:
    22. Januar 2012
    Beiträge:
    7.965
    Zustimmungen:
    9
    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.
     
  9. Domino5702

    Domino5702 Well-Known Member

    Registriert seit:
    30. April 2009
    Beiträge:
    2.634
    Zustimmungen:
    0
    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 Google 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.
     
    #9 Domino5702, 3. November 2012
    Zuletzt bearbeitet: 3. November 2012
  10. nobody4life

    nobody4life Well-Known Member

    Registriert seit:
    18. September 2012
    Beiträge:
    252
    Zustimmungen:
    0
    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?
     
  11. nobody4life

    nobody4life Well-Known Member

    Registriert seit:
    18. September 2012
    Beiträge:
    252
    Zustimmungen:
    0
    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?
     
  12. Domino5702

    Domino5702 Well-Known Member

    Registriert seit:
    30. April 2009
    Beiträge:
    2.634
    Zustimmungen:
    0
    PHP als CGI-Modul laufen zu lassen ist schon eher nachteilig, die genauen Begründungen kannst Du zB. hier nachlesen. Aber es ist nicht der einzige Hoster, der das macht.
     
  13. Putzlowitsch

    Putzlowitsch Well-Known Member

    Registriert seit:
    21. Oktober 2006
    Beiträge:
    5.955
    Zustimmungen:
    47
    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
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden