Question

I'm running lighttpd locally on my Android tablet, and am working on a Wordpress site. It's working perfectly, except for the URL rewrite.

Urls only work as:

localhost:8080/fb/index.php/hello-world instead of localhost:8080/fb/hello-world

This is a pretty common issue and there is a lot of info out there on it, but I haven't been able to get any of it to work. I'm assuming I'm leaving something simple out.

Currently lighttpd.conf looks like below. Does anyone have an idea on how to fix it? I would be eternally grateful :)

server.document-root = "/mnt/sdcard/www"
dir-listing.activate = "enable"
server.errorlog = "/mnt/sdcard/wwwconf/server.log"

server.tag = "lighttpd/1.4.29 for Android - BitWebServer"

server.port = 8080

index-file.names = ("index.php", "index.html", "index.htm", "home.php","home.html","home.htm")

fastcgi.server = (
  ".php" =>
        (( "host" => "127.0.0.1",
           "port" => 9003,
        ))
)
alias.url = ("/phpmyadmin" => "/data/data/com.andi.serverweb/files/phpmyadmin")

server.max-request-size = 1000000
server.network-backend = "writev"
server.upload-dirs =( "/data/data/com.andi.serverweb/files/lighttpd/tmp" )

mimetype.use-xattr  = "disable"

mimetype.assign             = (
  ".appcache"     =>    "text/cache-manifest",  
  ".pdf"          =>    "application/pdf",
  ".sig"          =>    "application/pgp-signature",
  ".spl"          =>    "application/futuresplash",
  ".class"        =>    "application/octet-stream",
  ".ps"           =>    "application/postscript",
  ".torrent"      =>    "application/x-bittorrent",
  ".dvi"          =>    "application/x-dvi",
  ".gz"           =>    "application/x-gzip",
  ".pac"          =>    "application/x-ns-proxy-autoconfig",
  ".swf"          =>    "application/x-shockwave-flash",
  ".tar.gz"       =>    "application/x-tgz",
  ".tgz"          =>    "application/x-tgz",
  ".tar"          =>    "application/x-tar",
  ".zip"          =>    "application/zip",
  ".mp3"          =>    "audio/mpeg",
  ".m3u"          =>    "audio/x-mpegurl",
  ".wma"          =>    "audio/x-ms-wma",
  ".wax"          =>    "audio/x-ms-wax",
  ".ogg"          =>    "application/ogg",
  ".wav"          =>    "audio/x-wav",
  ".gif"          =>    "image/gif",
  ".jpg"          =>    "image/jpeg",
  ".jpeg"         =>    "image/jpeg",
  ".png"          =>    "image/png",
  ".xbm"          =>    "image/x-xbitmap",
  ".xpm"          =>    "image/x-xpixmap",
  ".xwd"          =>    "image/x-xwindowdump",
  ".css"          =>    "text/css",
  ".html"         =>    "text/html",
  ".htm"          =>    "text/html",
  ".js"           =>    "text/javascript",
  ".asc"          =>    "text/plain",
  ".c"            =>    "text/plain",
  ".cpp"          =>    "text/plain",
  ".log"          =>    "text/plain",
  ".conf"         =>    "text/plain",
  ".text"         =>    "text/plain",
  ".txt"          =>    "text/plain",
  ".spec"         =>    "text/plain",
  ".dtd"          =>    "text/xml",
  ".xml"          =>    "text/xml",
  ".mpeg"         =>    "video/mpeg",
  ".mpg"          =>    "video/mpeg",
  ".mov"          =>    "video/quicktime",
  ".qt"           =>    "video/quicktime",
  ".avi"          =>    "video/x-msvideo",
  ".asf"          =>    "video/x-ms-asf",
  ".asx"          =>    "video/x-ms-asf",
  ".wmv"          =>    "video/x-ms-wmv",
  ".bz2"          =>    "application/x-bzip",
  ".tbz"          =>    "application/x-bzip-compressed-tar",
  ".tar.bz2"      =>    "application/x-bzip-compressed-tar",
  ".odt"          =>    "application/vnd.oasis.opendocument.text",
  ".ods"          =>    "application/vnd.oasis.opendocument.spreadsheet",
  ".odp"          =>    "application/vnd.oasis.opendocument.presentation",
  ".odg"          =>    "application/vnd.oasis.opendocument.graphics",
  ".odc"          =>    "application/vnd.oasis.opendocument.chart",
  ".odf"          =>    "application/vnd.oasis.opendocument.formula",
  ".odi"          =>    "application/vnd.oasis.opendocument.image",
  ".odm"          =>    "application/vnd.oasis.opendocument.text-master",
  ".ott"          =>    "application/vnd.oasis.opendocument.text-template",
  ".ots"          =>    "application/vnd.oasis.opendocument.spreadsheet-template",
  ".otp"          =>    "application/vnd.oasis.opendocument.presentation-template",
  ".otg"          =>    "application/vnd.oasis.opendocument.graphics-template",
  ".otc"          =>    "application/vnd.oasis.opendocument.chart-template",
  ".otf"          =>    "application/vnd.oasis.opendocument.formula-template",
  ".oti"          =>    "application/vnd.oasis.opendocument.image-template",
  ".oth"          =>    "application/vnd.oasis.opendocument.text-web",
  ""              =>    "application/octet-stream"
)

server.modules   = ( 
"mod_rewrite",
    "mod_redirect",
    "mod_alias",
    "mod_access",
    "mod_auth",
    "mod_status",
    "mod_simple_vhost",
    "mod_evhost",
    "mod_userdir",
    "mod_secdownload",
    "mod_fastcgi",
    "mod_proxy",
    "mod_cgi",
    "mod_ssi",
    "mod_compress",
    "mod_usertrack",
    "mod_expire",
    "mod_rrdtool",
    "mod_accesslog" 
)
$HTTP["host"] =~ "localhost:8080/fb/" {
  url.rewrite-final = (

    # Exclude some directories from rewriting
    "^/(wp-admin|wp-includes|wp-content|gallery2)/(.*)" => "$0",

    # Exclude .php files at root from rewriting
    "^/(.*.php)" => "$0",

    # Handle permalinks and feeds
    "^/(.*)$" => "/index.php/$1"
  )
}
Was it helpful?

Solution

Your problem is your conditional on the $HTTP["host"]. Host is just that, host. In your case it would be localhost. To accomplish checking host, port, and url, you'd need the do the following:

$HTTP["host"] == "localhost" {
    $SERVER["port"] == "8080" {
        $HTTP["url"] =~ "^/fb/.*" {
            ...
        }
    }
}

Those are absolute checks on host == localhost and port == 8080 and a regex on url checking that it starts with /fb/.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top