Langsam schein ich mich noch zu einem richtigen Lighttpd-Fan zu entwickeln. Am Dienstag beschrieb ich ja bereits, wie man mit den VHost Einträgen in der Lighttpd.conf SEO freundliche URLs erstellen kann. Am Mittwoch war ein wenig Debugging dran und ich zeigte, wie man einen PhpMyAdmin Fehler unter Lighty beheben kann.
Doch während der erste Part der VHost Einträge nur “duplicate Content” also doppelten oder mehrfachen Inhalt vermeidet, hilft es ja nich bei der Linkstruktur. Da ich gerne WordPress sowohl als Conten Management System (CMS), als auch als eigentliche Blogsoftware, einsetze, werde ich heute zeigen, wie man die Permalinks ähnlich schön, wie unter Apache hinbekommt.
Lighttpd hat ja den Nachteil (oder auch Vorteil), dass es keine .htaccess Datein nutzt. Also braucht man für das Rewriting eine Alternative. Die ist auch in den VHost Einträgen in der Lighttpd.conf verankert. Das ganze sieht bei mir folgendermaßen aus:
$HTTP["host"] =~ “^www\.tuxonauten\.de” {
server.document-root = “/var/www/tuxonauten/”
server.error-handler-404 = “/error_handler.php”
url.rewrite = (
“^/(wp-.+).*/?” => “$0″,
“^/(sitemap.xml)” => “$0″,
“^/(xmlrpc.php)” => “$0″,
“^/(.+)/?$” => “/index.php/$1″
)
}
$HTTP["host"] =~ “^tuxonauten\.de” {
url.redirect-code = 301
url.redirect = (
“^/(.*)$” => “http://www.tuxonauten.de/$1″,
)}
$HTTP["host"] =~ “^tuxonaut\.de” {
url.redirect-code = 301
url.redirect = (
“^/(.*)$” => “http://www.tuxonauten.de/$1″,
)}
$HTTP["host"] =~ “^www\.tuxonaut\.de” {
url.redirect-code = 301
url.redirect = (
“^/(.*)$” => “http://www.tuxonauten.de/$1″,
)}
Wirklich relevant ist aber nur folgender Eintrag:
url.rewrite = (
“^/(wp-.+).*/?” => “$0″,
“^/(sitemap.xml)” => “$0″,
“^/(xmlrpc.php)” => “$0″,
“^/(.+)/?$” => “/index.php/$1″
)
Dieser lässt sich natürlich auch auf Unterordner anwenden. Gefunden habe ich das ganze Hier.