Saw how to add a custom error message in this thread: http://groups.google.com/group/web2py/browse_thread/thread/834cbe25394e0d71/61f55eeb2432a6a8?lnk=gst&q=404#61f55eeb2432a6a8
That's what I want to do but if I use routes_onerror it returns 303: 127.0.0.1, 2009-03-12 13:30:55, GET, /myapp/default/BAD-URL, HTTP/1.1, 303, 0.183876 Google and other spiders will want an unambiguous 400 or 404. http://googlewebmastercentral.blogspot.com/2008/08/farewell-to-soft-404s.html You can see 404s via the Google webmaster tools: http://googlewebmastercentral.blogspot.com/2008/10/webmaster-tools-shows-crawl-error.html I've turned this off for now but it would be nice to get a "hard 404" for URLs that don't work. http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html 303 See Other The response to the request can be found under a different URI and SHOULD be retrieved using a GET method on that resource. This method exists primarily to allow the output of a POST-activated script to redirect the user agent to a selected resource. The new URI is not a substitute reference for the originally requested resource. The 303 response MUST NOT be cached, but the response to the second (redirected) request might be cacheable. The different URI SHOULD be given by the Location field in the response. Unless the request method was HEAD, the entity of the response SHOULD contain a short hypertext note with a hyperlink to the new URI(s). Note: Many pre-HTTP/1.1 user agents do not understand the 303 status. When interoperability with such clients is a concern, the 302 status code may be used instead, since most user agents react to a 302 response as described here for 303. 400 Bad Request The request could not be understood by the server due to malformed syntax. The client SHOULD NOT repeat the request without modifications. 404 Not Found The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---