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/
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop












{ 8 comments… read them below or add one }
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?
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