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/
Want to stay up to date with the latest Linux tips, news and announcements? Subscribe to our free e-mail newsletter or RSS feed to get all updates.
You can Email this page to a friend.
You may also be interested in other helpful articles:
- Lighttpd install and configure Webalizer statistics software
- Download of the day: Lighttpd web server 1.4.17
- Lighttpd client side optimization with mod_expire to controls the expire http header
- How to upgrade lighttpd tar ball (source code) installation
- Installing and configuring lighttpd webserver - HOWTO
Discussion on This Article:
Leave a Reply
We encourage your comments, and suggestions. But please stay on topic, be polite, and avoid spam. Thank you very much for stopping by our site!
Tags: alias, cgi bin directory, cgi_bin_directory, configuration file, configuration_file, doamin, doc directory, document tree, example_cgi, filesystem, lib, lighttpd, server modules, server_modules, theos, type url, webalizer



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/" )
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.
Dunxd,
Thanks for pointing out windows and UNIX difference while configuring alias.
Appreciate your post.
You can use += or use following syntax:
alias.url = ("/stats/star/" => "/home/lighttpd/stats/out/",
"/docs/" => "/usr/share/docs/",
"/somedir/" => "/home/somewhere/"
)
In this line:
server.modules += ( “mod_ alias” )
Is the space bewteen “mod_” and “alias” intentional?
> Is the space bewteen “mod_” and “alias” intentional?
Noop, it was a typo.
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?