[LUAU] mod_rewrite

Paul luau at cyber-addict.com
Mon May 24 19:51:41 PDT 2004


Thanks to everyone's replies, but I think I have found my answer.  I 
have talked to other hosting providers who are using <VirtualHost> 
directives with over 500 hosts without any performance hit.  As I don't 
think rewrite will let me make changes to say ThrottlePolicy per host, 
I will just continue to use <VirtualHost> and restart apache when 
necessary.

Thanks again for everyone's help!

p.s. I have read Apache Cookbook, it provides only sparse information 
on mod_rewrite but otherwise is a great book full of useful 
information.  Of course, so are most O'Reilly books, IMHO.  :)


--------------------------
Hosted by CyberAddict (http://www.cyberaddict.net)



On May 23, 2004, at 10:22 PM, Tom Gordon wrote:

> On Sun, 2004-05-23 at 16:05, Vince Hoang wrote:
>> On Sun, May 23, 2004 at 03:10:15PM -0600, Paul wrote:
>>> The <VirtualHost> directive is a pain since I have to restart
>>> Apache every time there is a change. I would like an option to
>>> do reconfiguration dynamically and prevent restarts. I have
>>> also heard that too man <VirtualHost> entries begin to really
>>> slow Apache down, at least in its starts and stops.
>>
>> Startup is slower because apache has to parse its ever growing
>> configuration file. The alternative is running many separate
>> instances of apache, so it is a small price to pay.
>>
>>> Mod_Rewrite seems like a really good option, but I fail to see
>>> a way to pass unique directives to each virtual host.
>>
>> Mod_rewrite is a great tool, but I always keep the rewrite rules
>> within each respective virtual host.
>>
>>> Or has anyone found a different way to dynamically add or
>>> delete virtual hosts without having to restart Apache?
>>
>> With `apachectl graceful`, the parent pid rereads the
>> configuration file and tells the old children to die off when
>> they are done serving pages. Be sure to do an `apachectl
>> configtest` beforehand because typos in the configuration file
>> will cause apache to exit completely.
>>
>> -Vince
> From the apache cookbook online:
>
> --snip--
> Recipe 4.7: Mass Virtual Hosting Using Rewrite Rules
> Problem
> Although there is a module - mod_vhost_alias - which is explicitly for
> the purpose of supporting large numbers of virtual hosts, it is very
> limiting and requires that every virtual host be configured exactly the
> same way. You want to support a large number of vhosts, configured
> dynamically, but, at the same time, you want to avoid mod_vhost_alias.
>
>
> Solution
> Use directives from mod_rewrite to map to a directory based on the
> hostname:
>
> RewriteEngine on
> RewriteCond   %{HTTP_HOST}     ^(www\.)?([^.]+)\.com$
> RewriteRule   ^(.*)$   /home/%2$1
> Discussion
> mod_vhost_alias is useful, but it is best for settings where each
> virtual host is identical in every way but hostname. Using
> mod_vhost_alias precludes the use of other URL-mapping modules, such as
> mod_userdir, mod_rewrite, and mod_alias, and it can be very 
> restrictive.
> Using mod_rewrite is less efficient, but it is more flexible.
>
> For example, when using mod_vhost_alias, you must do all of your hosts
> with mod_vhost_alias; whereas with this alternate approach, you can do
> some of your hosts using the rewrite rules and others using 
> conventional
> virtual host configuration techniques.
>
> The directives in the Solution map requests for www.something.com (or
> without the www) to the directory /home/something.
>
>
> See Also
>       * Recipe 5.16 of Apache Cookbook
>       * http://httpd.apache.org/docs/vhosts/
>       * http://httpd.apache.org/docs/mod/mod_rewrite.html
>
> --/snip--
>
> you can also do this with squid/squirm in reverse... it is very very
> fast, uses virtually no memory, can reread configs after sending -HUP,
> uses full regex and if you mess it up, it'll still function.
>
> -- 
> Tom Gordon <memeyou at memeyou.net>
> <3 the United States of America
> _______________________________________________
> LUAU at lists.hosef.org mailing list
> http://lists.hosef.org/cgi-bin/mailman/listinfo/luau




More information about the LUAU mailing list