≡ Menu

Configure lighttpd alias (mod_alias)

This lighttpd module provides for mapping different parts of the host filesystem in the document tree. You can use it for mapping various directories. For example cgi-bin directory mapped to /var/lib/cgi-bin. The alias module is used to specify a special document-root for a given url-subset.

Configuration

Open your lighttpd configuration file:
vi /etc/lighttpd/lighttpd.conf

Append/add mod_ alias to list of server modules:
server.modules += ( "mod_alias" )

Examples

Add cgi-bin alias for doamin theos.in
alias.url = ( "/cgi-bin/" => "/home/lighttpd/theos.in/cgi-bin/" )

Browse all documents installed at /usr/share/doc/ directory with following alias:
alias.url = ( "/docs/" => "/usr/share/doc/" )
alias.url += ( "/stats/" => "/home/theos.in/http/webalizer/" )

Open a browser and type url http://theos.in/docs/ or http://your-domain.com/docs/

Share this on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:



{ 8 comments… add one }
  • Dunxd October 2, 2006, 4:32 pm

    Want to add more than one alias?

    Use += for subsequent alias.url lines.

    E.g.

    alias.url = ( "/cgi-bin/" => "/home/lighttpd/theos.in/cgi-bin/" )
    alias.url += ( "docs/" => "/usr/share/doc/" )

  • Dunxd October 2, 2006, 4:36 pm

    On Windows the trailing slash for the alias (the first path) breaks the configuration.

    E.g.

    alias.url = ( "/docs/" => "/usr/share/doc/" )
    ^

    Doesn’t work.

    alias.url = ( "/docs" => "/usr/share/doc/" )

    Does work.

  • nixCraft October 2, 2006, 6:52 pm

    Dunxd,

    Thanks for pointing out windows and UNIX difference while configuring alias.

    Appreciate your post.

  • nixCraft October 2, 2006, 7:00 pm

    You can use += or use following syntax:
    alias.url = (
    "/stats/star/" => "/home/lighttpd/stats/out/",
    "/docs/" => "/usr/share/docs/",
    "/somedir/" => "/home/somewhere/"
    )

  • Minh July 6, 2007, 5:55 pm

    In this line:

    server.modules += ( “mod_ alias” )

    Is the space bewteen “mod_” and “alias” intentional?

  • nixCraft July 6, 2007, 6:17 pm

    > Is the space bewteen “mod_” and “alias” intentional?
    Noop, it was a typo.

  • Howard Miller March 7, 2008, 10:59 am

    It appears that when using an alias, the index.file-names setting is ignored. If, for example, you want index.php to be found then it won’t work with an alias.

    Is this a bug, or am I missing something obvious?

  • Sirolway August 5, 2009, 12:12 pm

    I’m trying to configure a couple of aliases using lighttpd for Windows
    The second alias is nested in a sub-sub folder of the first, so the folder structure is
    c:\firstDir\secondDir\thirdDir

    The application I’m trying to use references http://servername/firstDir/thirdDir
    So I need to configure Lighttpd to do this…

    Lighttpd won’t start if I try:

    alias.url = (
    “/firstDir/” => “C:/firstDir/”,
    “/firstDir/thirdDir/” => “C:/firstDir/secondDir/thirdDir/”
    )

    Can anyone tell me how I can configure aliases that are nested inside other aliases…?
    TIA

Security: Are you a robot or human?

Leave a Comment


   Tagged with: , , , , , , , , , , , , ,