WordPress Permalinks

Seit Mitte Februar 2008 unterstützt Strato nun auch das Modul mod_rewrite. Damit können die WordPress-Permalinks ohne besondere Konfiguration oder Plugins verwendet werden. Die nachfolgenden Ausführungen müssen Strato-Nutzer nicht mehr beachten.

In den Grundeinstellungen von WordPress werden URLs verwendet, die mit einem Fragezeichen beginnen, welchem dann ein oder mehrere Parameter folgen, so z.B.:

  • Blogbeitrag: /?p=1
  • Seite: /?page_id=2
  • Kategorie: /?cat=1
  • Monatsarchiv: /?m=200706

WordPress bietet aber auch die Möglichkeit, alle Links besser lesbar und für viele noch wichtiger, suchmaschinenfreundlicher zu gestalten. Dazu gibt es die sogenannten Permalinks. Damit diese funktionieren, muß der Webhoster die Möglichkeit bieten, das Modul mod_rewerite verwenden zu können. Dies ist bei den Strato-Webhostingpaketen leider nicht der Fall.
Wie es dennoch möglich ist, Permalinks ohne mod_rewrite zu verwenden, wird nachfolgend beschrieben. Bevor man an den Permalink-Einstellungen Veränderungen vornimmt, sind die unten aufgeführten Schritte unbedingt abzuarbeiten und alle Hinweise zu beachten! Sonst kann es zu unerwarteten Ergebnissen kommen.

  1. Plugin „123 No Rewrite Permalink“ runterladen

    Die aktuelle Version des Plugins bekommt man auf Putzlowitschs Pluginseite „123 No Rewrite Permalink„. Nach dem runterladen ist die ZIP-Date zu entpacken und lokal im Pluginverzeichnis ‚/wp-content/plugins‘ zu speichern.

  2. Plugin installieren und aktivieren

    Wie bei allen anderen Plugins auch, ist die Datei ‚plw123_norewritepl.php‘ in das Pluginverzeichnis auf dem Server zu kopieren und anschließend im Adminbereich unter Plugins zu aktivieren. Das Plugin hat keine Konfigurationseite unter Einstellungen.

  3. Permalinks aktivieren und konfigurieren

    Nun können die Permalinks, auch für die Kategorie-Basis, nach Wunsch eingestellt werden. Falls die .htaccess nicht beschreibbar ist, erscheint dann unten diese Meldung „Wenn deine .htaccess beschreibbar wäre, könnte WordPress …“. Dann muß man die unten stehenden Zeilen manuell in die .htaccess eintragen (hier nun aber keine Rewrite-Regeln, sondern das Error-Dokument).

    Wordpress Permalinks einstellen

  4. Bekannte Probleme

    1. Leider hat der Errordocument404-Trick auch einen Nachteil. Wenn an eine Permalink-Adresse Formulardaten mit der Methode POST gesendet werden (z.B. beim „DD Formmailer“), kommen diese nicht an. Das liegt daran, daß der Apache-Webserver keine POST-Daten an Fehlerseiten weitergibt. Mit der neuen Version 0.12 des „123 No Rewrite Permalink“-Plugins funktioniert zumindest die GET-Methode.
      Vom Problem sind aber z.B. nicht die WordPress-Kommentare und solche Plugins betroffen, die ihre Daten direkt an eine existierende PHP-Datei senden, z.B. ‚wp-comments-post.php‘.
      Lösungsmöglichkeit:
      Es geht doch, Kontaktformular mit POST und Permalinks
    2. Durch die nicht übertragenen POST-Daten funktionieren auch Trackbacks nach dem bei Permalinks üblichen Muster nicht:
      /permalink-adresse/trackback/

      Stattdessen müssen Trackbacks direkt aufgerufen werden, damit sie ankommen:

      /wp-trackback.php?p=123

      Ab Version 0.13 des Plugins wird diese Direktadresse von der üblicherweise verwendeten Funktion trackback_url() bzw. get_trackback_url() zurückgegeben.

38 Reaktionen zu “WordPress Permalinks”

  1. KRiZZi sagt:

    Hallo Schnurpsel,

    schönes Plugin. Allerdings funktioniert jetzt erwarteterweise mein Contactform-Plugin nicht mehr (WP-Contactform). Gibt’s da eins, das ich jetzt noch einsetzen kann?

    Gruss
    KRiZZi

  2. Ja so auf die Schnelle kenn ich da auch nichts.

    Meine erste Idee für ein Kontaktformular ganz ohne Plugin wäre, einfach die normale WP-Kommantarfunktion dafür zu „mißbrauchen“. Man könnte z.B. eine statische Seite „Kontakt“ anlegen und dafür ein extra Seiten-Template erstellen, in dem man zwar das normale Kommantarformular einbindet, die Auflistung der Kommantare aber wegläßt. Hab ich selber aber noch nicht probiert, sollte aber funktionieren.
    Ein Vorteil wäre sogar, das die selben Anti-Spam-Maßnahmen, die man sonst bei den Kommentaren verwendet, auch beim Kontaktformular wirksam sind.

    Gruß
    Ingo

  3. Erik sagt:

    Von mir auch vielen Dank für das Teilen dieser Infos. Das wird mir sicherlich weiterhelfen. Zugegeben etwas viel Aufwand für ein überteuertes Hosting-Paket ohne Komfort (keine htaccess, mod_expires, mod_rewrite, etc.). Ansonsten muss ich sagen das mein T-Online Paket durchweg Top konfiguriert ist und auch eine ganze Reihe extras mitbrinigt. (Geschwindigkeit, PHP mit PEAR-Modulen erweiterbar, etc.)
    Nicht vorhandener Service und das große, erwähnte Minus am Komfort (eigentlich Standard) trüben den Eindruck aber.
    Werd nochmal kurz Feedback geben wie/ob es denn bei mir klappt…

  4. Erik sagt:

    Musste ja so kommen. Natürlich läuft das auf dem (wohlgemerkt geschenktem) T-Online Paket nicht. Fehlender htaccess-Unterstützung sei Dank. (Also keine 404-Document Weiterleitung) :(

    Also für nichts weiter zu gebrauchen als stupide Dateiablage das Paket. Das wohl bisher schlechteste Preis-Leistungsverhältnis (selbst geschenkt) das mir in Sachen Hosting untergekommen ist. (Und die „ich schimpfe über Strato-Phase“ hab ich eigentlich hinter mir…)

    Seis drum.

  5. Ja schade eigentlich. Liegt es daran, daß keine benutzerdefinierten Fehlerdokumente unterstütz werden, oder an was anderem?

    Für den IIS habe ich es ja nach dem selben Prinzip auch hinbekommen. Nur konnte ich es da lokal bei mir testen, so war das entwicklungstechnisch relativ einfach.

  6. Thomas sagt:

    Danke, danke, danke.
    Seit 2 Tagen habe ich mich mit diesem Problem rumgeplagt. Nie wurden im Blog die Beiträge angezeigt.

    Danke für die Lösung. Jetzt klappt alles.

  7. crucible sagt:

    Hallo! Feines Plugin. Wie gehe ich vor wenn ich die „alten“ Einstellungen wieder herstellen möchte ohne dass irgend etwas Unvorhergesehenes passiert!
    Erst wieder die alte Permalink-Struktur einstellen und dann das Plugin deinstallieren?
    Habe da ein paar Bedenken!

  8. Ja genau, erst die alte Permalinkstruktur wieder einstellen, dann das Plugin deaktivieren.
    Gegebenfalls mußt Du dann auch noch die .htaccess-Datei anpassen, falls diese nicht durch WP beschreibbar ist. Es müßte dann die Zeile mit dem ErrorDocument 404 (und den Kommentaren darüber) entfernte werden.

  9. Ilka sagt:

    Hallo. Danke für die tollen Hinweise hier. Ich habe ein Problem mit der .htaccess und Plesk. Mir wird immer die .htaccess überschrieben wenn ich was an der Serverconfig ändere und dann sind alle Links verwurschtelt. Ist halt nervend wenn dann falsches indiziert wird. Leider kann ich die .htaccess aber auch nicht schreibgeschützt machen, da ich keine „root“ Rechte habe. Gibts da ein Trick, wie ich es doch hinbekomme?

    Ilka

  10. Da kann ich auch nicht weiterhelfen. Mit Plesk kenne ich mich gar nicht aus. Andererseits benötigt man auch keine root-Rechte, um die .htaccess mit Schreibschutz zu versehen. Es sollte reichen, die Rechte per FTP auf 444 zu setzen, nachem WP die Rewrite-Regeln geschrieben hat. Wenn selbst das nicht hilft, hilft gar nichts :-)

  11. Ilka sagt:

    Danke aber für die Antwort. Es ging alles nicht, weil irgendwie Plesk die .htaccess angelegt hat und ich als User da nix ändern kann. Habe aber meinen Provider gebeten mir die Regel in die .htaccess zu implementieren. Irgendwie bekomme ich das schon hin, notfalls per KK :-)

    Ilka

  12. […] Nun les´ ich aber grad auf http://www.schnurpsel.de, dass mod_rewrite bei Strato funktionieren soll ??? Hmmm… schnell ausprobieren und Permalinks umstellen, auf den bösen 500´er warten – aber nix da… Der Sachse würde sagen: “Et leuft doch man, et leuft doch. Coole Sache, WordPress mit Strato ist jetzt möglich. Nachzulesen ist die Permalinks-News hier. […]

  13. […] Da les´ ich doch grad auf http://schnurpsel.de, dass mod_rewrite bei Strato funktionieren soll ??? Hmmm… schnell ausprobieren und Permalinks umstellen, auf den bösen 500´er warten – aber nix da… Der Sachse würde sagen: “Et leuft doch man, et leuft doch. Coole Sache, WordPress mit Strato ist jetzt möglich. Nachzulesen ist die Permalinks-News hier. […]

  14. David sagt:

    Hier gibt es eine alternative Lösung für das Permalink Problem:
    http://www.spamcollect.com/archives/44

  15. @David
    Schön und gut, nur kann man bei einem Shared-Hosting-Paket (kein Server oder VServer), und nur um die geht es hier, nicht mal eben die Apache-Konfiguration anpassen und den Webserver neu starten.

    Ist eine andere Baustelle, aber falls jemand per Google hierher findet, und es um einen Strato-VServer oder -Server geht, weiß er wenigstens, wo er nachschauen muß. Danke! :-)

  16. GTFreak sagt:

    Das Plugin bekomme ich leider bei Hosteurope nicht zum Laufen. Kann es sein, dass es nur für Strato ausgelegt ist?
    Das Plugin scheint aber trotzdem genial zu sein…

    cu,
    GTFreak

  17. Ursprünglich ist es für Strato gedacht, aber der eine oder andere Kommentar auf der Pluginseite hat mich annehmen lassen, daß es auch bei HE funktioniert.
    Voraussetzung ist eigentlich nur, daß man über die .htaccess benutzerdefinierte Fehlerseiten konfigurieren kann.

  18. Sascha sagt:

    …läuft auf Hosteurope nicht, kann ich auch bestätigen. Man bekommt keine Fehlermeldung beim Permalink einstellen. :-(

    Da es bei Strato wohl mittlerweile funktioniert, brauchts das Plugin wohl gar nicht mehr. Werde wohl umziehen.

  19. Also bei mir läuft es auch mit HosteEurope. Man muß halt wie bei den normalen Permalinks die .htaccess beschreibbar machen oder eben die angezeigten Sachen selbst eintragen.

    Ich habe zwar ein WebPack L bei HE, aber wenn ich da das Plugin aktiviere, funktioniert das halt auch über die ErrorPage. Sollte also auch mit dem WebPack M gehen. Möglicherweise muß man aber die Fehlerseite im KIS konfigurieren, da kenn ich mich mit dem WebPack M nicht aus.

  20. zwerchserver sagt:

    Danke für das Plugin. Habe damit meine Permalinkstruktur problemlos umgestellt!

  21. @zwerchserver
    Also eigentlich braucht man das Plugin bei All-Inkl nicht, da funktionieren die Permalinks ganz normal mit mod_rewrite.

  22. Hape42 sagt:

    Hi,

    hast Du ein Tip für mich, wo ich „related posts“ customizen kann?
    Ich hab bei mir ein Plugin installiert, da ich dachte, das „alte“ related posts“ wird ersetzt. Aber jetzt habe ich zwei :-(
    Hier sind mehr Informationen: http://hape42.de/blog/2009/07/20/related-posts/
    und hier sieht man so einen post mit „falschen“ links http://hape42.de/blog/2009/07/07/no-country-for-old-men/

    bei dem mit Fettdruck related posts ist jeweils der link falsch :-(

  23. Hmmm, also da kann ich auch nicht weiterhelfen, ich kenne weder das eine, noch das andere Plugin. Es sollte doch aber genügen, das Plugin, welches die fehlerhaften Links produziert, zu deaktivieren.

  24. Hape42 sagt:

    Ja, das genau ist das Problem.
    Ich habe kein Plugin aktiviert, dass die related Post anzeigt.
    und bei meinem Theme gibt es keine Einstellungen

  25. Schnurpselchen sagt:

    Na also so aus dem Nichts könne sie doch nicht kommen. Du hast doch aber geschrieben, Du hättest das „Yet Another Related Posts“ installiert und nun hättst Du auch die falschen Links vom alten Plugin.

    Am einfachsten kann man ein Plugin „deaktivieren“, indem man es aus dem Pluginverzeichnis löscht.

  26. Hape42 sagt:

    die related posts mit den falschen links gab es schon von Anfang an
    vor ein paar Stunden habe ich das neue Plugin installiert (das hervorragend funktioniert).
    Mein „einziges“ Problem: ich finde keine Stelle, wo ich das alte „related posts“ deaktivieren kann :-(

  27. Hape42 sagt:

    öhm, räusper…
    ich mal wieder :-(
    seit ein paar Stunden funktionieren bei mir die Permalinks nicht mehr?
    Was hab ich geändert?
    Kategorien zu Tags geändert.
    yarp upgedatet
    sonst nix
    hast ne Idee?

  28. Hape42 sagt:

    wenn ich das Plugin YARP deaktiviere, funktioniert es wieder
    Was aber der der Auslöser ist, kann ich nicht herausfinden

  29. fantasmo sagt:

    Wollte die Permalinks mit der Struktur „category/postname“ machen. Dann kommt eben dieser Satz… „Wenn htaccess beschreibbar wäre…“. Da hab ich dieses Stück Code in meine htaccess eingefügt und versucht nochmal Posting, Category oder Page aufzurufen… ist aber immernoch kaputt (404).

    Dieses angesprochene PermalinkPlugIn hab ich nicht, weil ich auch ganz oft gelesen hab, dass es mit dem reinschreiben dieses Code-Schnipsels in htaccess erledigt sein müsste.

    Funktioniert aber nicht!

    PS: Mein Blog liegt in einem Unterordner, also htaccess liegt einen Ordner weiter vorn auf „publichtml“ (dürfte doch aber nix ausmachen?!).

    Weiß jemand, was ich noch machen kann, damit der 404-Error weg ist?

  30. […] Suche nach einem Ausweg gemacht. Viele Strato Nutzer hatten das glеiсhe Problem, weshalb es dank Schnurpsel mittlerweile das WordPress Plugin 123 No Rewrite Permalink gibt. Es arbeitet mit der 404 […]

  31. […] jetzt schien alles zu funktionieren, nur die Seiten blieben leer. Das Permalink-Problem? Nein, aber ein anders: Problem ohne www bei Strato. Eingespielt, […]

  32. reiner sagt:

    ich komme damit nicht klar

  33. Rufousred sagt:

    Danke für das Tut!
    Endlich läuft das Ganze auch bei mir =)

  34. Frank sagt:

    Hey Schnurpsel, du nutzt ein Plugin für Permalinks? Mir genügt die Funktion in WP vollkommen. Hat WP das 2007 noch nicht geboten?
    Was Strato angeht: Man muss die Funktion für mod_rewrite in kleineren Paketen dazubuchen, sonst läuft das nicht…

  35. @Frank
    Du hast den Beitrag gar nicht gelesen, stimmts? :-)

  36. Christian sagt:

    Vielen Dank für das Tutorial! Sehr gut und ausführlich beschrieben! Hat super geklappt.

  37. wordpress Anleitung sagt:

    Super vielen Dank – ein paar Kleinigkeiten könnte man aktualisieren, aber im Grunde eine sehr gute Anleitung!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

 Hier kein Häkchen setzen
 Ich bin kein Spambot

Hinweis: Kommentare von bisher unbekannten Schreibern (Name und eMail) oder mit mehr als einem Link werden moderiert.