Hi, I've been looking in Cherokee for an option to have dynamic VirtualHosts. What I've in mind is to host multiple/dynamic virtual domains, for example:
* If visitor goes to joe.foobar.com, Cherokee will set the UserDir
to /home/joe/public_html and DocumentRoot to /usr/share/webapp.
* If visitor goes to peter.foobar.com, Cherokee will set the UserDir
to /home/peter/public_hml and DocumentRoot to /usr/share/webapp.
So Cherokee will be taking the *subdomain* part and using it as a
variable (%0, to give it a name), so domain names will be:
%0.foobar.com => /home/%0/public_html
Now, I've been looking in Cherokee doc and seems that Cherokee doesn't
support these kind of things as Apache does with mod_rewrite. In Apache
you can do this with mod_rewrite, don't know if there are plans to have
this option in Cherokee.
Here's an example in how to do this in Apache:
# get the server name from the Host: header
UseCanonicalName Off
# splittable logs
LogFormat "%{Host}i %h %l %u %t \"%r\" %s %b" vcommon
CustomLog logs/access_log vcommon
# now for the hard bit
RewriteEngine on
RewriteMap lowercase int:tolower
# allow CGIs to work
RewriteCond %{REQUEST_URI} !^/cgi-bin/
# check the hostname is right so that the RewriteRule works, support
only lowecase subdomains.
RewriteCond ${lowercase:%{SERVER_NAME}} ^\.[a-z-]+\.foobar\.com$
# concatenate the virtual host name onto the start of the URI
# the [C] means do the next rewrite on the result of this one
RewriteRule ^(.+) ${lowercase:%{SERVER_NAME}}$1 [C]
# now create the real file name
RewriteRule ^\.([a-z-]+)\.foobar\.com/(.*) /home/$1/public_html/$2
So when visitor goes to: joe.foobar.com/foo/bar.html, Apache will be
reading: /home/joe/public_html/foo/bar.html.
Is there a way to do this in Cherokee?
Here's a bit more of information:
http://httpd.apache.org/docs/2.0/vhosts/mass.html
Pablo
--
Pablo Fischer Sandoval (pablo [arroba/at] pablo.com.mx)
Cel: (044-55) 2689-6351
Fingerprint: 5973 0F10 543F 54AE 1E41 EC81 0840 A10A 74A4 E5C0
http://www.pablo.com.mx
http://www.jaws-project.com
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Cherokee mailing list [email protected] http://www.alobbs.com/cgi-bin/mailman/listinfo/cherokee
