Sometime you need to run old html file(s) as php pages, especially if you are migrating from Apache web server. To treat html pages as php you need to map multiple extensions to the same fastcgi server using fastcgi.map-extensions directive.
For example:
Task: Map html to php
fastcgi.map-extensions = ( ".html" => ".php" )
Task: Map old .php3 files to php
fastcgi.map-extensions = ( ".php3" => ".php" )
However, when you map .html file you need to disable mod_compress which does output compression and reduces the network load. It can improve the overall throughput of the webserver. This module by default compress .html file. You have two choices:
a) Remove the module
b) Skip .html files from (mod_compress)
Open Lightttpd configuration file:
# vi /etc/lighttpd/lighttpd.conf
Find out compress.cache-dir and compress.filetype directive and comment out (or remove the lines):
# compress.cache-dir = "/tmp/lighttpd/cache/compress/"
# compress.filetype = ("text/plain", "text/html")
Next, find out mod_compress server.modules line and comment out the same.
Next map .html extension by adding the directive:
fastcgi.map-extensions = ( ".html" => ".php" )
At the end your configuration should look like as follows (your fastcgi directives may look little different):
fastcgi.map-extensions = ( ".html" => ".php" )
fastcgi.server = ( ".php" =>
((
"bin-path" => "/usr/bin/php",
"socket" => "/tmp/php.socket",
"max-procs" => 2,
"idle-timeout" => 20,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "4",
"PHP_FCGI_MAX_REQUESTS" => "10000"
),
"bin-copy-environment" => (
"PATH", "SHELL", "USER"
),
"broken-scriptfilename" => "enable"
))
)
Save and close the file. Restart lighttpd server:
# /etc/init.d/lighttpd restart
It took 30+ minutes to solve this small problem. Finally following command gave me back answer:
$ lynx http://localhost/test.html
It was downloading test.html as .gz file. I immediately realized that sever is compressing files (test.html) using mod_compress and then transmitting file to client. So I disabled the mod_comress, restarted the server and voila!
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 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












{ 5 comments… read them below or add one }
thanks for tip. it is working now.
hello
please tell the way of execute html(steps)
please tell the way of run html steps
Hi,
Can you map xml the same way to php?
I’m trying to configure RSS feed to work with lighttpd. It works fine with Apache.
How can i execute a html files in linux especially in fedora 9.
Please give me the solution as soon as possible.