On 10/2/06, Dan Buettner <[EMAIL PROTECTED]> wrote:
Launched a new site last week, built on Rails, Apache and mongrel.
Now have collected a number of 404 errors from the logs, and wish to
redirect them to the appropriate page in Rails.

My situatrion is, we're using URL rewriting to direct anything that is
not a file to the mongrel Rail balancer.  But I wish to incorporate some
404 URLs which of course do not exist into the config.

Is there a way to write a RewriteCond such that if a URL is not
mapped/redirected in a file, THEN do the rewrite?

My config:

   RewriteEngine On

   RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
   RewriteRule ^/(.*)$ balancer://prod_app%{REQUEST_URI} [P,QSA,L]

(which leaves Apache serving static content and mongrel doing Rails)

and later:
Include /opt/csw/apache2/etc/general_url_redirect.txt

Sample from the general_url_redirect.txt file:
RedirectPermanent   /about/eventscalendar.htm   http://www.site.com/calendar

What I'd like is to be able to do something aking to this:

   RewriteCond ^(.*)$ $1!mapped:general_url_redirect.txt

Suggestions welcomed.

You're looking at the problem from the wrong angle.

All you need to do is replace the RedirectPermanent in Include with
RewriteRule ^/about/evenscalendar.htm http://www.site.com/claendar
[R=permanent,L]
and be sure to put the Include BEFORE the existing RewriteRules.  The
"L" flag stops rewriting at this point so it will never get to your
rails stuff.

Joshua.

---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
  "   from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to