Lighttpd Redirect www.domain.com Requests To domain.com Or Vice Versa

For various reason you might want to redirect all traffic coming to www.domain.com to domain.com or vise versa.

This is essential if you want to maintained a good structure for search engines (SEO) or to generate accurate stats.

How To Configure No www

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

Find out your virtual domain section.

WWW Redirect with lighttpd

Add following configuration directive if you want to redirect www.domain.com to domain.com (no www)

$HTTP["host"] =~ "^www\.(.*)"
		{
			url.redirect = ( "^/(.*)" => "http://%1/$1" )
		}

No-WWW Redirect with lighttpd

Add following configuration directive if you want to redirect domain.com to www.domain.com (force www)

 $HTTP["host"] =~ "^domain\.com$"
		{
			url.redirect = ( "^/(.*)" => "http://www.domain.com/$1" )
                }

Make sure you replace domain.com with your actual domain name. You can see live example of this configuration by visiting this url (it will automatically remove www and redirect you to theos.in domain).

Close and save the file. Restart the lighttpd web server:
# /etc/init.d/lighttpd restart

🐧 If you liked this page, please support my work on Patreon or with a donation.
🐧 Get the latest tutorials on SysAdmin, Linux/Unix, Open Source & DevOps topics via:
CategoryList of Unix and Linux commands
File Managementcat
FirewallAlpine Awall CentOS 8 OpenSUSE RHEL 8 Ubuntu 16.04 Ubuntu 18.04 Ubuntu 20.04
Network Utilitiesdig host ip nmap
OpenVPNCentOS 7 CentOS 8 Debian 10 Debian 8/9 Ubuntu 18.04 Ubuntu 20.04
Package Managerapk apt
Processes Managementbg chroot cron disown fg jobs killall kill pidof pstree pwdx time
Searchinggrep whereis which
User Informationgroups id lastcomm last lid/libuser-lid logname members users whoami who w
WireGuard VPNAlpine CentOS 8 Debian 10 Firewall Ubuntu 20.04
8 comments… add one
  • fayaz Apr 8, 2015 @ 14:17

    hey how are you all …
    i have two server which is running at the same time ..and having same pages like CDN network.
    for example.
    http://www.kkk.com/info.php (192.168.26.1)
    question is that…when user hit above site.they are facing 404 not found..
    i want when ever user face that error it will automatically redirect on my another server for example (192.168.26.2)at this .and get page from there and they access that automatically ..i will be very thankfull to you act of this kindness
    kindly tell me in this regards ,.

  • Franz Dec 22, 2010 @ 9:40

    How can I enable this for HTTPS, too? This rewrite rule seems to redirect to HTTP automatically.

  • Jush Fuskin Jul 17, 2009 @ 16:54

    Yes I have, here is the exact code I am using.

    $HTTP[“host”] =~ “(^|.)domain.com$” {
    url.redirect = ( “^/(.*)” => “http://www.domain.com/$1” )
    server.document-root = “/var/www/html/domain.com”
    server.error-handler-404 = “/404.php”
    }

  • 🐧 nixCraft Jul 17, 2009 @ 16:37

    Did you add $1 at the end of domain name?

  • Jush Fuskin Jul 17, 2009 @ 15:54

    I added the directive into my .conf file and it worked but the problem is when I visit a url

    for example: when I go to http://mydomain.com it sends me to http://www.mydomain.com. Which is what I want.

    But when I go to http://mydomain.com/page1.php Instead of adding a www. infront of the title it just redirects me to the http://www.mydomain.com instead of http://www.mydomain.com/page1.php

    How do I fix this?

  • Geoff Jan 19, 2009 @ 23:29

    Does anyone know how I can redirect all non-ww domains to the www version?

    I basically need this reversed:

    $HTTP[“host”] =~ “^www.(.*)$” {
    url.redirect = ( “^/(.*)” => “http://%1/$1” )
    }

    Thanks for any help!

  • peter Jan 13, 2009 @ 3:18

    How can i redirect user based on referer?
    Sometime i got bad user i want to redirect them to goway.html? How can i do that? In apache i do something like this:

    RewriteEngine On
    Options +FollowSymlinks
    RewriteCond %{HTTP_REFERER} ^http://(.+).edublogs.org [NC,OR]
    RewriteCond %{HTTP_REFERER} ^http://(www.)?fakeyahoo.com [NC,OR]
    RewriteRule ^(.*)$ http://mysitehere/getout.html [R=301,L]

  • chadrick Aug 5, 2006 @ 11:30

    Nice!

    But how do I redirect all feed traffic to a feedburner account?

    If someone make visit to domain.com/feed/ => feeds.feedburner.com/myAccount

    Cheers,

    Chadrick

Leave a Reply

Your email address will not be published. Required fields are marked *

Use HTML <pre>...</pre>, <code>...</code> and <kbd>...</kbd> for code samples.