Skip to main content

Recipe for Apache's mod_rewrite and www independence

Note that ww.domainname and wwww.domainname work just as well, so if you define these in your DNS, people who make a typoe will still reach you. With a little more work, you can redirect them to either www.domainname or plain domainname without any w’s at all.

UseCanonicalName Off

LogFormat "%V %h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-Agent}i\"" vcommon
CustomLog logs/access_log vcommon

RewriteEngine on
RewriteLog "/var/log/httpd/rewrite_log"
RewriteLogLevel 0

RewriteMap lowercase int:tolower

RewriteCond %{REQUEST_URI} ^/icons/
RewriteRule ^/(.*)$ /var/www/$1 [L]

RewriteRule ^(.+)$ %{lowercase:SERVER_NAME}$1
RewriteRule ^w*\.(.+)/(.*)$ /var/www/virtual/$1/$2 [L]
RewriteRule ^(.+)/(.*)$ /var/www/virtual/$1/$2 [L]

Et viola! Dump a website’s files in /var/www/virtual/domainname/ and define a DNS entry for it, and she’s apples. For the terminally lazy (like me), you can even define a wildcard A-record so all you need to do to add a site is dump a directory full of files in /var/www/virtual/.

For the ultimate in laziness, add a “www” directory to the new-user skeleton and make the RewriteRule path /home/$1/www/$2 instead. Now adding a new domain involves “useradd domainname and “passwd domainname (or do the same through webmin).

Another interesting trick is to hand out your favicon.ico image to every site hosted on the machine by first providing an ErrorDociment just for the icons:

<Files favicon.ico>
ErrorDocument 404 /favicon-fallback.ico
</Files>

...then defining a RewriteRule to point every site’s /favicon-fallback.ico URI to your common favicon.ico (put this in front of the RewriteRule above if you’re using both):

RewriteCond %{REQUEST_URI} ^/favicon-fallback.ico
RewriteRule ^/(.*)$ /var/www/virtual/yourmainwebdomain/favicon.ico [L]

Comments

Popular posts from this blog

An Open and Shut response to Darl McBride

Hi, Darl. I see you’re being dishonest again . It’d be really nice if you could shoot straight for a change, but I think Kerry’s Dad will be selling snowplows in Hell first. Three years ago, when I first joined The SCO Group, we focused the company on the area that was most profitable and provided the most benefit to customers, investors, resellers, developers and employees: UNIX No, you focused the company on suing people, which was most profitable to lawyers and provided some golden parachutes for your buddies. People thought we were crazy. They were right. But since SCO owns the UNIX operating system The SCO Group does not own UNIX® in any sense of the word. The Open Group owns the UNIX trademark, definition and other rights , The SCO Group does not. The SCO Group doesn’t even own the UnixWare® or OpenServer® code, the rights to those are held by Novell and TSG use them only by permission and under certain conditions — which they have violate...

5x7 text dot-matrix in five minutes...

This is a fairly primitive toy I threw together today for a specific purpose, published in case it’s any use to others... feed it a list of words as command arguments, which it will then display as a 5x7 ASCII dotmatrix with ‘#’ as a dot & ‘_’ as a blank. /* * display text using a 5x7 bitmap font in ASCII letters */ static unsigned char font [] [5] = { { 0x00,0x00,0x00,0x00,0x00 }, // 0x20 32 { 0x00,0x00,0x6f,0x00,0x00 }, // ! 0x21 33 { 0x00,0x07,0x00,0x07,0x00 }, // " 0x22 34 { 0x14,0x7f,0x14,0x7f,0x14 }, // # 0x23 35 { 0x00,0x07,0x04,0x1e,0x00 }, // $ 0x24 36 { 0x23,0x13,0x08,0x64,0x62 }, // % 0x25 37 { 0x36,0x49,0x56,0x20,0x50 }, // & 0x26 38 { 0x00,0x00,0x07,0x00,0x00 }, // ' 0x27 39 { 0x00,0x1c,0x22,0x41,0x00 }, // ( 0x28 40 { 0x00,0x41,0x22,0x1c,0x00 }, // ) 0x29 41 { 0x14,0x08,0x3e,0x08,0x14 }, // * 0x2a 42 { 0x08,0x08,0x3e,0x08,0x08 }, ...

Citizens Augmenting Government Waste

So here we have Microsoft-funded “ Citizens Against Government Waste ” (CAGW) heavily criticising Massachusetts’s switch to an internationally accepted and open document standard (not open source, open standard — but I seem to remember a large monopolist who frequently confuses the two when it suits them). I remember CAGW, they were the organisation who had dead people writing in to support Microsoft in court a few years ago — thanks to sbergman27 for the link — is this “the dead hand of CAGW” at work again? Let’s follow the money and find out. Who stands to lose the most money and control if Massachusetts switches to an unencumbered document format? Big surprise, it’s CAGW sponsor Microsoft, through their dominant MS-Office suite. Why did CAGW list Microsoft’s suite last, after two other much-less-dominant examples which are waning anyway? If you’re inclined to wallow in additional irony, consider that at leas...