Support » Allgemeine Fragen » Anzeige Permalink wechselt von Beitragsname auf einfach

  • Hallo,

    ich habe ein Problem mit den Permalinks auf einer meiner WP-seiten:

    Wenn ich im WP-Adminbereich der Webseite auf „Seiten“ gehe und eine Auswaehle komme ich auf die Seite „Seite bearbeiten“ auf der der Permalink korrekt angezeigt wird (www.meinedomain.com/beitragsname).

    Wenn ich den Permalink mit Mausklick rechts kopiere und im Browser angebe kommt die Fehlermeldung 404 Seite existiert nicht, da irgendwie die Permalinkstrukur auf „einfach“ umgestellt wird, mit ?p= id irgendwas (www.meinedomain.com/?p=id nummer).

    Ich benutze WP Version 4.7.8 mit Twenty Thirteen, von dem ich ein Child Theme angelegt habe. Ich benutze ausserdem die Netzwerkverwaltung und Optimize Press für die Seite mit dem Permalink-Problem.

    Wie kann ich das lösen? Habe etwas im Forum gesucht bin aber nicht fündig geworden.

    Nachtrag: Im Bereich „Einstellungen“ > „Permalinks“ ist ebenfalls „Beitragsname“ ausgewählt.

    Danke

Ansicht von 12 Antworten - 1 bis 12 (von insgesamt 12)
  • Zunächst einmal solltest du dringend WordPress auf die aktuelle Version 4.9.1 aktualisieren. Es ist mir ein Rätsel, wieso so viele Nutzer die einfachen Updates nicht ausführen und lieber darauf warten, dass ihre Website gehackt wird. Fehler und Sicherheitslücken in älteren WordPress-Versionen können in allgemein zugänglichen Datenbanken abgerufen werden und die WordPress-Version deiner Installation kann mit sehr wenig Aufwand ermittelt werden.

    „Pretty Permalinks“, bei denen in der URL die Beitrags-ID durch einen aussagefähigeren Titel ersetzt wird, funktionieren nur, wenn auf dem Webserver das Modul mod_rewrite installiert und aktiviert und anschließend der Webserver neu gestartet wurde. Außerdem muss die Art der Weiterleitung in der Server-Konfigurationsdatei .htaccess stehen. Manchmal reicht es nicht, unter Einstellungen > Permalinks die gewünschte Linkstruktur vorzugeben. Wenn WordPress an der .htaccess (z.B. aufgrund der Dateiberechtigungen) keine Änderungen vornehmen kann, wird normalerweise der Code eingeblendet, den du manuell einfügen musst.
    Nochmal zusammengefasst:

    • wurde mod_rewrite installiert?
    • wurde mod_rewrite aktiviert?
    • wurde der Webserver danach neu gestartet?
    • existiert eine .htaccess in dem Verzeichnis, in dem auch die index.php liegt, die mit der URL aufgerufen wird?
    • ist in dieser .htaccess eine Weiterleitungsregel vorhanden (Abschnitt mit Kommentar #Begin/#End WordPress)?

    Zunächst einmal solltest du dringend WordPress auf die aktuelle Version 4.9.1 aktualisieren. Es ist mir ein Rätsel, wieso so viele Nutzer die einfachen Updates nicht ausführen und lieber darauf warten, dass ihre Website gehackt wird. Fehler und Sicherheitslücken in älteren WordPress-Versionen können in allgemein zugänglichen Datenbanken abgerufen werden und die WordPress-Version deiner Installation kann mit sehr wenig Aufwand ermittelt werden.

    Die Version 4.7.8 ist die aktuelle und sichere Version der 4.7.x-Reihe (siehe Release-Datum 4.8.4 = Datum 4.9.1: https://codex.wordpress.org/WordPress_Versions). Bis hinab zu WordPress 3.7.x werden alle Versionsstränge mit Sicherheits-Updates versorgt. Siehe auch:

    Die Hintergrund-Updates von WordPress – was genau passiert da eigentlich?

    @lorenzoooo
    Hast du „Einstellungen“ > „Permalinks“ noch mal abgespeichert? Manchmal behebt das felhlerhafte Einträge in der .htaccess.

    Die Version 4.7.8 ist die aktuelle und sichere Version der 4.7.x-Reihe

    Stimmt. Ich würde trotzdem aktualisieren, um Konflikte mit aktuellen Plugins und Theme(s) zu vermeiden.

    Ich entschuldige mich für die unangebrachte Kritik.

    Thread-Starter lorenzoooo

    (@lorenzoooo)

    Hallo Bego & Angelika

    vielen Dank für eure Hilfe 🙂

    Also,

    1) mod rewrite ist und war installiert
    2) mod rewrite ist und war aktiviert
    3) der Server wurde neu gestartet (mit Seite aktualisieren)
    4) die .htaccess und index datei liegen im selben Verzeichnis
    4,1) die mit derselben URL aufgerufen wird > das kann ich nicht genau sagen; die Seite ist eine von mehreren die ich mit Multisite Netzwerk verwalte (wobei ich aber bei der Seite mit dem Problem immer gefragt werde mich neu einzuloggen, weiss nicht warum)
    5) in der .htaccess Datei ist eine Weiterleitungsregel vorhanden. Meine htaccess sieht so aus:

    # BEGIN WordPress
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ – [L]

    # add a trailing slash to /wp-admin
    RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^ – [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
    RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
    RewriteRule . index.php [L]

    </IfModule>

    # END WordPress

    6) habe die Permalinks unter Einstellungen nochmal gespeichert und die Seite aktualisiert, aber Pustekuchen:-)

    Wo liegt die Krux? was kann das blos sein?

    Vielen Dank für Eure Hilfe.

    LG Lorenzooooooo

    PS: das mit dem Update mache ich wenn wir dies hier gelöst haben

    Thread-Starter lorenzoooo

    (@lorenzoooo)

    @pixolin Ciao Bego, hast Du mal schauen können, wo das Problem sein könnte? Danke, Lorenzooo

    Benenne die .htaccess doch mal um in alte.htaccess und füge statt dessen eine leere .htaccess mit Schreibrechten 644 ein. Danach sicherst du noch einmal die gewünschte Permalink-Struktur im Backend.

    Der „normale“ WordPress-Block sieht so aus:

    # 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>

    (da ist keine Weiterleitungsregel für wp-admin enthalten!)

    Thread-Starter lorenzoooo

    (@lorenzoooo)

    Hallo Bego @pixolin,

    vielen Dank für Deine Antwort.

    Habe die neue .htaccess angelegt mit dem „normalen“ WP Block wie Du vorgeschlagen hast.
    Jetzt habe ich also sowohl die alte.htaccess als auch die neue im selben Verzeichnis.
    Habe die Permalinkanzeige nochmal neu gespeichert, aber immer noch Pustekuchen.
    Ich weiß allerdings nicht wie man die Schreibrechte 644 einstellt, vielleicht liegt es daran?

    Dank, LG Lorenzooo

    Thread-Starter lorenzoooo

    (@lorenzoooo)

    @pixolin Ciao Bego, hast Du mal schauen können, wo das Problem sein könnte? Was mache eich blos falsch? Danke, Lorenzooo

    Ich bemühe mich hier im Forum immer um möglichst genaue Anleitungen, die dann nur noch Schritt für Schritt befolgt werden müssen. Wenn Anwender/innen dann andere Wege gehen, ist das völlig OK. „Freies Land, nicht meine Website, …“ und so. 🙂

    Wenn ich schreibe „füge eine leere .htaccess ein“ und du erstellst dann eine neue .htaccess und füllst sie mit irgendwas … klar, kann man machen, ist dann aber nicht, was ich vorgeschlagen habe. Ich schau dann auch nicht mehr, was das Problem sein könnte, OK?

    Thread-Starter lorenzoooo

    (@lorenzoooo)

    @pixolin Ciao Bego, ich kann verstehen was Du meinst. Würde ich genauso sehen 🙂

    Ich dachte eigentlich Deine Anweisungen für die ich Dir sehr dankbar bin, befolgt zu haben. Nur hatte ich es anders interpretiert als Du es gemeint hast. Mich hatte der „normale “ WP Block irritiert; ich dachte der müsste rein. Ok, Sorry!

    Also: werde das was ich in die .htaccess Datei gepackt habe wieder rausnehmen, dann ist sie leer. Dann müsste ich nur noch wissen, wie man die Schreibrechte 644 einstellt.

    Ok so? Sorry nochmal.

    Bei den meisten FTP-Programmen kannst du einfach einen Rechtsklick auf die Datei machen und dann unter „Eigenschaften“ oder „Info“ nachschauen, welche Berechtigungen gesetzt sind. Wenn du einfach mit dem FTP-Programm eine neue, leere Datei erstellst hast, sollte die Berechtigung aber sowieso auf 644 stehen.

    Der Grund für die leere .htaccess: wenn du anschließend in Einstellungen > Permalinks die gewünschte Linkstruktur erneut speicherst, sollte WordPress einen Eintrag in der .htaccess schreiben. Falls das nicht klappt (z.B. weil die Berechtigung nicht stimmt) erhältst du einen Hinweis, dass du Code manuell einfügen musst. Gleichzeitig kannst du anhand der vorher leeren .htaccess prüfen, ob WordPress etwas in die Datei geschrieben hat.

    Wenn dann die Permalinks immer noch nicht funktionieren, liegt das wie schon mehrfach erwähnt in den meisten Fällen an der fehlenden/nicht eingebundenen Erweiterung mod_rewrite. Es kann natürlich auch sein, dass ein Plugin oder ein noch vorhanderen Cache eine andere Umleitung erzeugt – deshalb auch die leere .htaccess. Du könnest dann noch das Plugin Health Check ausprobieren: Im Fehlerdiagnose-Modus das Frontend aufrufen und schauen, ob die Permalinks nun greifen. Damit könntest du ausschließen, dass ein Plugin Probleme bereitet.

    Thread-Starter lorenzoooo

    (@lorenzoooo)

    @pixolin Hallo Bego, vielen vielen Dank für deine Hilfe 🙂

    Irgendwie will es nicht, vielleicht muss man mit mir ganz von vorne anfangen, ist ja doch ganz schön komplex finde ich…

    1. .htaccess Datei

    Die neue und leere .htaccess Datei habe ich auf zwei verschiedenen Wege angelegt: einmal mit einem normalen Text-Editor und einmal in Filezilla mit Rechtsklick > neuen File anlegen. Mit dem Texteditor habe ich es einmal im ANSI Format versucht und einmal im UTF8 Format. Die Datei erscheinte immer, allerdings immer mit Schreibrecht 0740. Die habe ich dann mit Rechtsklick, wie Du sagtest, auf 644 umgestellt.
    Hatte es auch mal probiert die alte .htaccess Datei zu löschen und eine Kopie davon auf meinen PC angelegt. Hat aber auch nix gebracht. Noch ist die alte .htaccess Datei nur auf meinem PC.

    2. Mod_rewrite

    Ich habe nochmal bei Domainfactory, wo ich die Seite hoste, nachgeschaut. Die sagen, um das Modul mod-rewrite zu aktivieren, muss ich den Satz „RewriteEngine On“ in die .htaccess Datei schreiben. Das wäre dann also der einzige Satz in der bis dahin leeren .htaccess Datei.

    Nun das Komische: wenn ich diesen Satz im Texteditor einfüge und speichere wird er angezeigt. Wenn ich aber die Datei per ftp dann hochlade und dort auf Datei ansehen klicke, ist die leer.

    Auch nachdem ich die Permalink-Struktur geändert habe (einmal auf Tag/Monat zum Testen, einmal auf Beitragsname) hat sich nix getan. Der Link wird immer gleich angezeigt und die .htaccess Datei ist immernoch leer. WP hat mir jedes mal gesagt, das die Änderung korrekt gespeichert wurde.

    3. Updates von Plugins

    Ich hatte einige Plugins zu aktualisieren, darunter auch das Prettylinks, hatte gehofft das es helfen würde, tat es aber nicht.

    4. Plugin Health Check

    Habe das Health Check Plugin installiert und den Check durchgeführt. Es ist fast alles im grünen Bereich bis auf das mir gesagt wird, ich hätte 1. keine SSL Verschlüsselung und 2. kommt dies: „Ein Plugin hat Aktualisierungen verhindert, indem es wp_version_check() deaktiviert hat.“ >>> kann es das sein? Es wird mir außerdem gesagt, dass alle WP Dateien schreibbar sind.

    Unter dem Reiter „Debugging Information“ steht unter Permalinks „Permalink-Struktur /%postname%/“. Das ist doch auch richtig glaube ich.

    Bei der Fehlerdiagnose im Frontend habe ich keine Fehlermeldungen bekommen.

    5. Cache

    Du schreibst von einer eventuell noch vorhandenen Cache. Ich weiß allerdings nicht, wie man die in WP leert.

    Ist ja irgendwie doch ganz schön komplex…

    Ich hoffe, ich habe deine Anweisungen korrekt befolgt.

    Danke. Gruß.
    Lorenzooo

    • Diese Antwort wurde geändert vor 6 Jahren, 4 Monaten von lorenzoooo.
Ansicht von 12 Antworten - 1 bis 12 (von insgesamt 12)
  • Das Thema „Anzeige Permalink wechselt von Beitragsname auf einfach“ ist für neue Antworten geschlossen.