Beim Aufsetzen meines Blogs galt noch Wordpress 2.51. Nach einem Update auf Wordpress 2.6 lief gar nichts mehr, die Permalinkproblematik in Wordpress 2.6 ist aber nicht nur mir aufgefallen…. siehe hier hier und hier.
Anleitung zum Einstellen von Permalinks in Wordpress
Aus diesem Grunde eine kleine Anleitung wie man diese Permalinks einstellt inkl. Lösungen für die bekanntesten Fehler.
Schritt 1:
Die Permalinkstruktur kann man in Wordpress Admin-Panel unter » “Einstellungen -> Permalinks” einstellen. Standardmäßig sind Suchmaschinen- und Benutzerunfreundliche URLs wie
deine-domain.de/index,php?p=NUMMER
eingestellt. Eine gute Permalinkstruktur hat somit Auswirkungen auf deine Google Platzierung und ist zudem sehr benutzerfreundlich, es empfiehlt sich aus diesen Gesichtspunkten eine andere Permalink-Struktur als die vorgegebene zu verwenden.
Im Menü kann man nun benutzerdefinierte Permalinkregeln aufstellen. Ich verwende zum Beispiel diese Einstellung:
/%category%/%postname%/
Wähle nun also deine eigene Einstellung oder verwende eine der vorgegebenen. Hierbei kannst du aus diesen wählen:
und insofern Wordpress sich nicht meldet oder um eine Änderung der .htaccess Datei bittet seid ihr schon fertig.
Sollte er eine .htaccess (siehe Auszug unten) verlange ab zu Schritt 2:
Wenn deine .htaccess-Datei beschreibbar wäre, könnte WordPress sie automatisch bearbeiten. Das ist nicht der Fall. Darum findest du hier die mod_rewrite-Regeln, die du manuell in deine .htaccess-Datei einfügen musst. Klick in das Feld und verwende Strg+A, um alles auszuwählen.
Aber Achtung: Vorraussetzung hierfür ist mod_rewrite! Habe ich mod_rewrite aktiviert? Tja gute Frage, lässt sich aber relativ leicht feststellen:
Erstelle einfach eine php-Datei mit folgendem Inhalt:
<?php
phpinfo ();
?>
Lade diese Datei auf deinem Space nenne sie z.B. info.php und rufe diese nun auf. Nun solltet ihr alle Einstellungen eures Spaces/Servers sehen.
Rufe Str + F auf und such nach “mod_rewrite”. Dies sollte unter “loaded modules” stehen. Ist es dort aufgeführt, wunderbar, dann zu Schritt 2. Wenn nicht, bei eigenem Server selber installieren oder den Anbieter kontaktieren und fragen ob er es installiert. Die Anleitung zur Installation findest du zuhauf im Internet…
Schritt 2:
Leg sofern noch nicht vorhanden eine .htaccess Datei an. Entweder kannst du diese zum Beispiel per WinSCP direkt auf dem Server anlegen, oder starte den normalen Windows Editor, und speicher eine Datei als .htaccess (nicht als .htcaccess.txt!). Lade diese nun in deinen WordpressOrdner (nicht in wp-content etc!) und geb der Datei chmod Rechte 0666 (meist Rechtsklick und dann “Rechte oder Properties”), sodass Wordpress Sie beschreiben kann. Nun führt das gleiche Prozedere wie bei Schritt 1 aus. Dieses mal sollte er nicht meckern, dass die .htaccess beschreibbar sein muss.
Sollte er weiterhin meckern schreibt selbständig in die .htaccess entweder per editor oder über euren FTP:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /blog/index.php [L]
</IfModule>
# END WordPress
Den Pfad wie /blog/ und /blog/index.php bitte entsprechend deiner Installation anpassen.
Nun sollte alles klappen.
Wie? Klappt immer noch nicht?
Dann fallen mir nur noch zwei Fehlerquellen ein. Die eine liegt an WP 2.6. Schreibt bitte hierfür im Dashboard unter Einstellungen -> Permalinks in “Kategorie” category und in “Tag” tag. Sollte es jetzt nicht klappen, alles aber in der .htaccess stehen und mod_rewrite auch an sein so bleibt für mich noch eine Fehlerquelle übrig:
Der Server bzw Apache erlaubt euch nicht in eurem “Ordner” eine .htaccess auszuführen.
Jetzt müssen wir uns schon stärker mit der Materie befassen und es ist zwingend das ihr Zugriff auf den Server habt. Wir müssen dem Server einfach nur mitteilen, erlaube mod_rewrite in meinem Wordpress-Ordner. Gehe hierzu bitte in die httpd.conf Datei im Apache und editiere diese wie folgt:
<Directory "/home/web/ordner/unterordner/wordpress">
AllowOverride All
Options +FollowSymLinks +SymLinksIfOwnerMatch
</Directory>
Ersetze bitte den richtigen Pfad und speichere die Datei ab, nun noch den Apache neustarten und alles sollte laufen.
Falls alles nicht klappt musst du wohl auf deine benutzerdefinierte Einstellung mit einem index.php davor zurückgreifen, damit klappt es in jedem Fall!
index.php/%category%/%postname%/