Schönere Links ohne mod_rewrite?

In Wordpress ist das möglich. gunnart. benutzt benutzte* z.B. folgende Einstellung: Im Administrations-Menü “Optionen” / “Permalinks” wurden im Feld “Struktur” die Tags “/index.php/%category%/%postname%/” eingetragen.

*Inzwischen liegt gunnart. bei yellohost - und im Zuge des Upgrades auf Wordpress 2.1 sind die Permalink-Optionen anders eingestellt.

Achtung: Sofern Ihr Web-Hoster kein mod_rewrite unterstützt, muss das Feld “Kategorie-Basis” unbedingt frei bleiben, sonst funktionieren unter Umständen Ihre gesamten Internet-Präsenzen nicht mehr! Im Falle eines Strato “Business XS”-Paketes waren alle Domains weg, das eigenhändig aufgespielte phpMyAdmin lief nicht – und der Administrationsbereich von Wordpress war ebenfalls nicht zu erreichen.

Nachdem das Löschen sämtlicher “.htaccess”-Dateien nichts gebracht hatte und immer noch lauter Fehler produziert wurden, führte folgende Vorgehensweise zur Lösung:

  1. Über FTP-Zugang die “.htaccess”-Datei im Wordpress-Hauptverzeichnis löschen
  2. Einloggen beim Webhoster, Passwort zur Datenbank ändern (so dass Wordpress komplett nicht mehr funktioniert)
  3. Im Hauptverzeichnis von phpMyAdmin (das war in diesem Fall installiert) die Datei “config.inc.php” an das geänderte Passwort anpassen
  4. In phpMyAdmin nach “category_base” suchen und den zugeordneten Wert (option_value) löschen
  5. Jetzt beim Webhoster das Passwort zur Datenbank wieder auf das alte Passwort zurück ändern

Jetzt sollte alles wieder laufen.

Rätselhaft bleibt immer noch, warum genau ein Eintrag in “Kategorie-Basis” gleich fünf Präsenzen (eines Paketes) plus phpMyAdmin komplett zerschießen konnte …

Suchfunktion kaputt?

Jetzt tauchen in der Adressleiste Ihres Wordpress-Blogs zwar keine kryptischen Adressen mehr à la “http://www.meinblog.de/?page_id=5″ oder ähnliches auf, sondern gut merkbare Links wie z.B. “http://www.meinblog.de/index.php/kontakt/” – aber die Suchfunktion erzeugt immer 404-Fehlermeldungen, sofern sie nicht auf der Startseite des Blogs benutzt wird.

Lösung: Im “default”-theme von Wordpress ist in der Datei “searchform.php” folgende Zeile zu finden:

<form method="get" id="searchform" action="<?php echo $_SERVER['PHP_SELF']; ?>">

Diese Zeile muss einfach ersetzt werden durch:

<form method="get" id="searchform" action="<?php echo 'http://www.meinblog.de'; ?>">

So ist das Suche-Formular wieder auf jeder Seite Ihrer Wordpress-Installation benutzbar.

Statt “www.meinblog.de” ist natürlich die Adresse Ihres Blogs einzutragen.