[fpc-devel] Fcl-Web 404 error
Leonardo M. Ramé
martinrame at yahoo.com
Fri Mar 11 16:38:20 CET 2011
--- On Fri, 3/11/11, michael.vancanneyt at wisa.be <michael.vancanneyt at wisa.be> wrote:
> From: michael.vancanneyt at wisa.be <michael.vancanneyt at wisa.be>
> Subject: Re: [fpc-devel] Fcl-Web 404 error
> To: "FPC developers' list" <fpc-devel at lists.freepascal.org>
> Date: Friday, March 11, 2011, 1:00 PM
>
>
> On Fri, 11 Mar 2011, Leonardo M. Ramé wrote:
>
> > --- On Fri, 3/11/11, michael.vancanneyt at wisa.be
> <michael.vancanneyt at wisa.be>
> wrote:
> >
> >> From: michael.vancanneyt at wisa.be
> <michael.vancanneyt at wisa.be>
> >> Subject: Re: [fpc-devel] Fcl-Web 404 error
> >> To: "FPC developers' list" <fpc-devel at lists.freepascal.org>
> >> Date: Friday, March 11, 2011, 11:59 AM
> >>
> >>
> >> On Fri, 11 Mar 2011, Leonardo M. Ramé wrote:
> >>
> >> > Hi, does anyone knows how to return a correct
> 404
> >> error from an fcl-web cgi app?.
> >> > > I'm doing this:
> >> > > procedure
> TFPWebModule1.myRequest(Sender: TObject;
> >> > ARequest: TRequest; AResponse: TResponse;
> var
> >> Handled: boolean); begin
> >> > AResponse.Code := 404;
> >> > AResponse.CodeText := 'Not Found';
> >> > Handled := True;
> >> > end;
> >> > > I use this because my Apache has an
> .htaccess's
> >> "ErrorDocument 404 ..."
> >> > directive to take actions when 404 errors are
> found,
> >> but this is not
> >> > working with my CGI. In my case, the
> contents
> >> (empty) sent by the CGI are
> >> > shown in the client side, while I whould like
> to show
> >> the 404 message
> >> > generated by Apache.
> >>
> >> Then you should add it to
> >> AResponse.Content:='The html';
> >>
> >> Michael.
> >
> > Thanks Michael, but it's a little more complicated
> than that.
> >
> > I need the 404 error to be handled by Apache, not by
> my app. I need this because I'm trying to let Apache search
> in a 2nd server when an 404 error is returned by the first
> server.
>
> I don't think the CGI protocol supports that.
>
> You'll have to consult the Apache docs.
>
> Michael.
> -----Inline Attachment Follows-----
Nevermind. The solution was to create a file under /var/wwww/cgi-bin called "failoverserver.cfg", containing only one line, for example "192.168.0.10".
If the cgi doesn't find a requested record, then, do a AResponse.SendRedirect to the server defined in failoverserver.cfg and the same ARequest.URL.
Leonardo.
More information about the fpc-devel
mailing list