You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Frank Z <fj...@yahoo.com> on 2009/12/05 02:25:07 UTC
[users@httpd] mod_rewrite/rewriterule - forcing a HTTP 500 code on all access attempt?
is there a way via RewriteRule to force all access to a certain URL to return with a HTTP 500
e.g. i have a number 3 applications that are or will be obsoleted and is expected to return a 500 to all callers who try to access it.
so when someone tries to access a deprecated URL such as http://myserver/myApp1 I would like to send back a 500 and preferably some textual information (nice to have).
Will it be possible to do this via mod_rewrite?
Thanks.
---------------------------------------------------------------------
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: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: [users@httpd] mod_rewrite/rewriterule - forcing a HTTP 500 code on all access attempt?
Posted by Frank Z <fj...@yahoo.com>.
Thanks for all your help.
I ended up using the RewriteRule recommended below by Rich Bowen along with an ErrorDocument (as per Nick Kew) to provide more details about the error.
300/400 series would have been more useful but client requirements don't always make sense. However, they are happy that a very simple config exercise in Apache was able to solve the problem.
----- Original Message ----
From: Rich Bowen <rb...@rcbowen.com>
To: users@httpd.apache.org
Sent: Fri, December 4, 2009 6:25:39 PM
Subject: Re: [users@httpd] mod_rewrite/rewriterule - forcing a HTTP 500 code on all access attempt?
On Dec 4, 2009, at 20:25 , Frank Z wrote:
> is there a way via RewriteRule to force all access to a certain URL to return with a HTTP 500
>
> e.g. i have a number 3 applications that are or will be obsoleted and is expected to return a 500 to all callers who try to access it.
>
> so when someone tries to access a deprecated URL such as http://myserver/myApp1 I would like to send back a 500 and preferably some textual information (nice to have).
>
> Will it be possible to do this via mod_rewrite?
You can use the R flag to return any valid HTTP status
RewriteRule ^/myApp1 - [R=500]
but, as Nick says, returning a 500 for it seems to be a lot less useful than a 404 or a 410 and an ErrorDocument.
--
Rich Bowen
rbowen@rcbowen.com
---------------------------------------------------------------------
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: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
---------------------------------------------------------------------
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: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: [users@httpd] mod_rewrite/rewriterule - forcing a HTTP 500 code on all access attempt?
Posted by Rich Bowen <rb...@rcbowen.com>.
On Dec 4, 2009, at 20:25 , Frank Z wrote:
> is there a way via RewriteRule to force all access to a certain URL
> to return with a HTTP 500
>
> e.g. i have a number 3 applications that are or will be obsoleted
> and is expected to return a 500 to all callers who try to access it.
>
> so when someone tries to access a deprecated URL such as http://myserver/myApp1
> I would like to send back a 500 and preferably some textual
> information (nice to have).
>
> Will it be possible to do this via mod_rewrite?
You can use the R flag to return any valid HTTP status
RewriteRule ^/myApp1 - [R=500]
but, as Nick says, returning a 500 for it seems to be a lot less
useful than a 404 or a 410 and an ErrorDocument.
--
Rich Bowen
rbowen@rcbowen.com
---------------------------------------------------------------------
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: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: [users@httpd] mod_rewrite/rewriterule - forcing a HTTP 500 code
on all access attempt?
Posted by André Warnier <aw...@ice-sa.com>.
Frank Z wrote:
> is there a way via RewriteRule to force all access to a certain URL to return with a HTTP 500
>
> e.g. i have a number 3 applications that are or will be obsoleted and is expected to return a 500 to all callers who try to access it.
>
> so when someone tries to access a deprecated URL such as http://myserver/myApp1 I would like to send back a 500 and preferably some textual information (nice to have).
>
> Will it be possible to do this via mod_rewrite?
>
It is certainly possible with mod_rewrite, but why don't you just create
a little cgi script which returns whatever you want ?
Or just set an Alias ?
Alias /my/former/page "/var/www/docs/special/my-error-page.html"
Otherwise, a 500 is a "server error", which is probably not appropriate
here. You should look for a more appropriate error code, maybe in the
300 series ? See RFC 2616. According to the HTTP specs, not all error
codes admit a response body. Also a tip : if you return an error page,
make sure it is larger than 1024 bytes or so, otherwise Internet
Explorer will substitute it with a "friendly error page" which doesn't
say anything helpful.
---------------------------------------------------------------------
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: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org
Re: [users@httpd] mod_rewrite/rewriterule - forcing a HTTP 500 code on
all access attempt?
Posted by Nick Kew <ni...@webthing.com>.
On 5 Dec 2009, at 01:25, Frank Z wrote:
> is there a way via RewriteRule to force all access to a certain URL to return with a HTTP 500
>
> e.g. i have a number 3 applications that are or will be obsoleted and is expected to return a 500 to all callers who try to access it.
>
> so when someone tries to access a deprecated URL such as http://myserver/myApp1 I would like to send back a 500 and preferably some textual information (nice to have).
>
> Will it be possible to do this via mod_rewrite?
(a) Don't send 500. 410 (Gone) would seem more appropriate.
(b) Yes, you can do this with mod_rewrite: just put your text in an
ErrorDocument. Or for a possibly-simpler solution, look up
mod_asis and put the entire response in a single file.
--
Nick Kew
---------------------------------------------------------------------
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: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org