Mongrel steals my requests for my subversion repo

the kind folks on irc have tried to solve this for awhile and we have
gotten very close to the problem.

My config file for apache is working, except mongrel tries to interpret
my request (myserver.com/svn) as a request for a page on my site, and,
not finding anything, returns a 404.

Basically, if i turn the rewrite engine off, then my svn works great.
however, it seems like this would be a common problem and i thought i
would ask here if there is something simpler than me writing a custom
RewriteRule.

thanks for any help.

tim

Here is my site.conf
<Proxy balancer://mongrel_cluster>
       BalancerMember http://127.0.0.1:8000
       BalancerMember http://127.0.0.1:8001
</Proxy>

<VirtualHost *:80>
  ServerName mysite.com

  DocumentRoot /var/www/apps/mysite/current/public

        ErrorLog /var/log/apache2/svn-error_log
        CustomLog /var/log/apache2/svn-access_log combined

  <location /svn>
     DAV svn
           SVNPath /svn

           AuthType Basic
           AuthName "Subversion Repository"
           AuthUserFile /etc/apache2/dav_svn.passwd
           Require valid-user

  </location>

  <Directory /var/www/apps/mysite/current/public >
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

  RewriteEngine On

  # Check for mx file
  RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
  RewriteCond %{SCRIPT_FILENAME} !maintenance.html
  RewriteRule ^.*$ /system/maintenance.html [L]

  # Rewrite index to check for static
  RewriteRule ^/$ /index.html [QSA]

  # Rewrite to check from Rails cached page
  RewriteRule ^([^.]+)$ $1.html [QSA]

  # redirect all non-static requests to cluster
  RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
  RewriteRule ^/(.*)$ balancer://mongrel_cluster%{REQUEST_URI} [P,QSA,L]

</VirtualHost>

Tim Booher writes:

the kind folks on irc have tried to solve this for awhile and we

have

gotten very close to the problem.

My config file for apache is working, except mongrel tries to

interpret

my request (myserver.com/svn) as a request for a page on my site,

and,

not finding anything, returns a 404.

Basically, if i turn the rewrite engine off, then my svn works

great.

however, it seems like this would be a common problem and i thought

i

would ask here if there is something simpler than me writing a

custom

RewriteRule.

thanks for any help.

tim

Here is my site.conf
<Proxy balancer://mongrel_cluster>
       BalancerMember http://127.0.0.1:8000
       BalancerMember http://127.0.0.1:8001
</Proxy>

<VirtualHost *:80>
  ServerName mysite.com

  DocumentRoot /var/www/apps/mysite/current/public

        ErrorLog /var/log/apache2/svn-error_log
        CustomLog /var/log/apache2/svn-access_log combined

  <location /svn>
     DAV svn
           SVNPath /svn

           AuthType Basic
           AuthName "Subversion Repository"
           AuthUserFile /etc/apache2/dav_svn.passwd
           Require valid-user

  </location>

  <Directory /var/www/apps/mysite/current/public >
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
  </Directory>

  RewriteEngine On

  # Check for mx file
  RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
  RewriteCond %{SCRIPT_FILENAME} !maintenance.html
  RewriteRule ^.*$ /system/maintenance.html [L]

I suggest you fix this by forcing Apache to process the SVN urls here.
Create your REWRITE rule to catch the SVN requests and stop it [L]
from being processed in subsequent rules.

-- Long
http://FATdrive.tv/wall/trakb/10-Long
http://FATdrive.tv/ - store, play, share