Timothy Wilson writes:
> Hey everyone,
> 
> I'm trying to use a few Rewrite rules on my Apache server. The configuration
> *looks* good, but no URLs are being rewritten. There's an empty rewrite_log
> in the directory that I specified. There are no errors reported when I
> restart apache.
> 
> Here's the section from httpd.conf:
> 
> <VirtualHost www.qwerk.org> #IP 208.42.140.222
>   ServerName www.qwerk.org
>   DocumentRoot /var/www
>   <IfModule mod_rewrite.c>
>     RewriteEngine On
>     RewriteLog "/var/log/apache/rewrite_log"
>     RewriteLogLevel 3
>     #RewriteRule ^/mailman/ - [L]
>     #RewriteRule ^/webalizer/ - [L]
>     #RewriteRule ^/~(.*) - [L]
>     RewriteRule
> ^/(.*) http://localhost:8080/VirtualHostBase/http/www.qwerk.org:80/Wilson/VirtualHostRoot/$1
> [P]
>   </IfModule>
> </VirtualHost>
> 
> That last rewrite rule is for my Zope installation on my server at home. Up
> until now I've used proxy_pass, but I'm experimenting. (It's all one line in
> the httpd.conf file.)
> 
> Is there a way that I can force something to be written in the
> rewrite_log? How can I confirm whether the Rewrite Engine is
> actually on?

Tim,

Your above configuration works perfectly for me. It seems that your
rewrite module is not being loaded. Make sure you have these two lines
at the top of your httpd.conf (where the other modules are loaded):

  LoadModule  rewrite_module    libexec/mod_rewrite.so 

  AddModule mod_rewrite.c 

To confirm whether or not mod_rewrite is loaded, you can view your
'server-info':

   http://www.qwerk.org/server-info

You will then get a page listing all the modules loaded into your
server, for instance:

                       Apache Server Information

 Server Settings, mod_php4.c, mod_rewrite.c, mod_proxy.c, mod_info.c,
 mod_status.c, mod_setenvif.c, mod_so.c, mod_auth.c, mod_alias.c,
 mod_userdir.c, mod_actions.c, mod_imap.c, mod_asis.c, mod_cgi.c,
 mod_dir.c, mod_autoindex.c, mod_include.c, mod_negotiation.c,
 mod_mime.c, mod_env.c, mod_log_config.c, mod_access.c, http_core.c

Again, to be able to use 'server-info', you must be loading the
mod_info module in the same fashion as I write above for mod_rewrite.
In addition, you must have a location handler like this somewhere in
your httpd.conf:

   <Location /server-info>
      SetHandler       server-info
 
      order            deny,allow
      deny from        all
      allow from       .qwerk.org
   </Location>

Save conf file, HUP your server, and Enjoy! :)


    Matt

-- 
For technical support contracts, visit https://order.mysql.com/
   __  ___     ___ ____  __
  /  |/  /_ __/ __/ __ \/ /    Mr. Matt Wagner <mwagner at mysql.com>
 / /|_/ / // /\ \/ /_/ / /__   MySQL AB, Herr Direktor
/_/  /_/\_, /___/\___\_\___/   Hopkins, Minnesota  USA
       <___/   www.mysql.com