Lighttpd Rewrites για το Wordpress

Εισαγωγή

Ο Lighttpd είναι ο web-server που χρησιμοποιούμε για να παρέχουμε τις υπηρεσίες hosting και ο οποίος σχεδιάστηκε με γνώμονα την ασφάλεια, ταχύτητα, ευελιξία και συμβατότητα με τα περισσότερα λειτουργικά συστήματα. Για τη λειτουργία rewrites, ο Lighttpd δεν χρησιμοποιεί την ίδια σύνταξη με τον Apache, αλλά έχει το δικό του plugin ώστε να κάνει ο ίδιος τα rewrites ή μπορεί να γίνει και χρήση άλλων γλωσσών προγραμματισμού ώστε να κάνουν αυτές τα rewrites. Για τα συγκεκριμένα rewrites έγινε χρήση του ModMagnet και της γλώσσας προγραμματισμού LUA.

Ρυθμίσεις

Θα πρέπει να προσθέσετε τον παρακάτω κώδικα στο αρχείο /usr/local/etc/lighttpd/wordpress.lua

View source
local prefix = ''
 
function file_excludes(filename)
   local extensions = {jpg = true; gif = true; png = true; jpeg = true; js = true; css = true; txt = true};
   if extensions[(filename:match"%.(.-)$" or ""):lower()] then
      return true
   elseif filename:find"^/404.php$" then
      return true
   else
      return false
   end
end
 
if (not file_excludes(lighty.env["physical.rel-path"])) then
   attr = lighty.stat(lighty.env["physical.path"])
   if (not attr) then
      lighty.env["uri.path"] = prefix .. "/index.php"
      lighty.env["physical.rel-path"] = lighty.env["uri.path"]
      lighty.env["physical.path"] = lighty.env["physical.doc-root"] .. lighty.env["physical.rel-path"]
   end
end

και στη συνέχεια να προσθέσετε στο lighttpd.conf την παρακάτω ρύθμιση:

View source
$HTTP["url"] !~ "^/(|index.html|xcache-admin|awstatsclasses|awstatsicons|awstatscss|awstats|webmail|phpmyadmin)(/|$)" {
index-file.names = ( "index.php" )
magnet.attract-physical-path-to = ( "/usr/local/etc/lighttpd/wordpress.lua" )