Wie füge ich / blog / als Präfix zur Permalink-Struktur für Blog-Posts, Tag-Seiten usw. hinzu?

19

Ich verwende Wordpress 3.1.3 als vollständigen CMS, der im Stammverzeichnis einer Domäne installiert ist. Ich habe es eingerichtet, indem ich die eingebauten Optionen verwende, um eine statische Seite als Startseite zu haben, und dann mein Blog unter http://www.example.com/blog.

Ich möchte, dass meine einzelnen Blogposts, Kategorieseiten, Archivseiten und Tag-Seiten sowie alle anderen blogbezogenen Seiten das "Präfix" / blog / in ihrer Linkstruktur haben. Also eine Post-URL wärewww.example.com/blog/post-title


Im Moment funktionieren nur die Kategorieseiten ordnungsgemäß. Dies wurde durch Hinzufügen der folgenden Zeile zu meiner .htaccesDatei erreicht:

RewriteRule ^category/(.+)$ http://www.example.com/$1 [R=301,L]

Dann habe ich die Kategoriebasis in Wordpress auf der Seite "Einstellungen für Permalinks" auf "Blog" gesetzt. Dies gibt Kategorieseiten die URL von: www.example.com/blog/category-name(ohne das Kategoriepräfix zu entfernen .htaccess, hatten sie die URL category/blog/category-name).


In dem Versuch, dies für die anderen Dinge zum Laufen zu bringen, für die es funktionieren soll, habe ich meine Tag Base auf "Blog" gesetzt. Ich habe auch meine benutzerdefinierte Permalink-Struktur erstellt /blog/%postname%(wie von einigen Threads vorgeschlagen, die ich bei der Suche in Google gefunden habe).

Diese Einstellungen geben den URLs für die einzelnen Blog-Posts, Tag-Seiten und Archivseiten die URL-Struktur, nach der ich suche. Sie führen jedoch alle zu 404-Fehlern.

Ich habe meine .htaccessDatei gelöscht , um sicherzustellen, dass Wordpress darauf schreibt. Wenn ich die /blog/aus der Permalink-Struktur entferne , funktioniert alles korrekt, aber ich habe nicht mehr die gesuchte URL-Struktur.

Ich weiß nicht, was ich tun soll. Ich lese immer wieder Themen und Anleitungen, die sagen, dies sei so einfach wie das Hinzufügen /blog/zur Permalink-Struktur, aber bisher war es noch nicht annähernd so einfach.

Ich wäre sehr dankbar, wenn jemand weiß, wie ich das zum Laufen bringen kann.

.htaccess Inhalt:

<IfModule mod_rewrite.c>
RewriteEngine On 
RewriteBase / 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule>
Preston
quelle
Als Randnotiz ist der beim Bearbeiten eines Beitrags angezeigte Permalink "falsch". Der endgültige Link wird nicht angezeigt.
Alexis Wilke

Antworten:

5

Gehen Sie zu Einstellungen> Permalinks und fügen Sie es den Permalink-Strukturen hinzu

xLRDxREVENGEx
quelle
1
Das war eines der ersten Dinge, die ich ausprobiert habe, und führte zu 404-Fehlern. Also habe ich es für ein paar Stunden deaktiviert und beschlossen, es erneut zu versuchen, nachdem ich Ihre Antwort gelesen hatte. Es funktioniert jetzt für meine einzelnen Postseiten. Ich habe auch die Kategorieseiten wieder zum Laufen gebracht. Damit bleiben nur die Tag-Seiten und die Archivseiten, die das / blog / benötigen.
Preston
Wenn Sie sich die Seite ansehen, gibt es auch einen Platz für die Tags. Bei den Archivseiten handelt es sich um die Seite, auf der die Liste der Artikel, Tags, Kategorien usw. oder archivierten Beiträge
angezeigt wird
Wenn ich mit den Tags ein Blog in den Bereich der Tag-Basis hinzufüge, erhalte ich die korrekte URL-Struktur "mydomain.com/blog/tag-name", aber diese Seite gibt mir einen 404-Fehler. Mit den Archiven meine ich die Seite, auf der die archivierten Beiträge für einen bestimmten Monat angezeigt werden. Ich möchte, dass die URL mydomain.com/blog/2011/05 lautet. Diese URL-Struktur wird angezeigt, wenn ich auf einen Archivlink klicke, gibt aber auch einen 404-Fehler aus. Und jetzt bekomme ich wieder 404-Fehler für die einzelnen Blog-Posts. Könnte dies ein Plugin sein, das Probleme verursacht?
Preston
Ist Ihr .htaccess-Setup richtig?
xLRDxREVENGEx
Ich glaube schon, Wordpress fügt die Umschreiberegeln jedes Mal hinzu, wenn ich sie ändere. Sollte es irgendetwas Spezielles für so etwas geben?
Preston
27

Sie erhalten 404-Fehler, wenn Sie "/ blog /" zur benutzerdefinierten Permalink-Struktur hinzufügen und anschließend "/ blog /" zur Kategoriebasis hinzufügen. Es sollte nur zu einer der benutzerdefinierten Permalink-Strukturen hinzugefügt werden.

Wenn Sie Ihre Kategoriebasis und Tag-Basis leer lassen und einfach "/ blog /" vor die benutzerdefinierte Permalink-Struktur setzen, damit sie so aussieht "/ blog /% postname% - dies ergibt das gewünschte Ergebnis.

Ihre Seiten sehen folgendermaßen aus: domain.com/pagename/ Ihre Beitrags-URL sieht folgendermaßen aus: domain.com/blog/postname Ihre Kategorie-URL sieht folgendermaßen aus: domain.com/blog/category/postname

Hoffentlich ist das nützlich ...

dom
quelle
1
Guter Fang beim Hinzufügen zu nur einem Abschnitt. Diese Lösung fügt der Kategorie / blog / hinzu und archiviert Seiten, was gut ist. Dies sollte wirklich die akzeptierte Antwort sein.
Ian
Ich bin froh, dass diese Methode auch für die URL der Kategorieseite gilt.
Edwin Yip
1
Dies sollte die akzeptierte Antwort auf diese Frage sein.
AndyWarren
2
Es wird das Präfix an ALLE Ihre benutzerdefinierten Beitragstypen
anhängen
1
Eine übliche Frage wäre hier wahrscheinlich: Wie schaffen Sie dies nur für "Post" -Posttypen und wie übersetzen / bloggen Sie beispielsweise für verschiedene Sprachen? :)
trainoasis