Hey alle zusammen! Ich habe ein seltsames Problem mit dem URL-Routing. Wenn ich eine URL anfordere, die nicht existiert, z. B. http: // localhost / foo , gibt WordPress korrekt eine 404 zurück. Wenn diese URL jedoch ein Präfix eines Beitrags oder Seitennamens ist, gibt sie stattdessen eine 301-Weiterleitung an den Beitrag zurück oder Seite.
Wenn ich beispielsweise am 01.10.2010 einen Beitrag mit dem Namen "Food Post" habe, wird ein 301 mit dem Speicherort " http: // localhost / 2010-10-01_food_post" (meine Permalink-Struktur) zurückgegeben. Wenn ich eine Seite mit dem Namen "Food Page" habe, wird eine 301 mit dem Speicherort "http: // localhost / food_page" zurückgegeben .
Sie können dies in Aktion auf meiner Live-Site http://snarfed.org/ sehen . Beispiel: http://snarfed.org/foo leitet zu http://snarfed.org/2009-10-30_food_highlights weiter .
Das Deaktivieren von Permalinks (dh das Umschalten auf "Standard") behebt das Problem sowohl für Beiträge als auch für Seiten, aber das möchte ich natürlich nicht wirklich.
Ich sehe dies auf drei verschiedenen Installationen, alle WordPress 3.0.1 und Apache 2.2, zwei Ubuntu Lucid / MySQL 5.1 und ein Freebsd 7.3 / MySQL 5.0. Ich habe alle Plugins deaktiviert und alles aus meinem .htaccess entfernt, außer den Zeilen für WordPress unten, wörtlich, aber kein Glück.
RewriteEngine On
RewriteBase /
RewriteRule ^wordpress/index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
Danke im Voraus...
functions.php
Ihr Thema oder in ein separates Plugin einfügen . Dies hängt davon ab, wo Sie diese Funktionalität bündeln möchten.