You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bugs@httpd.apache.org by bu...@apache.org on 2004/04/25 01:57:53 UTC
DO NOT REPLY [Bug 28574] New: -
Return links on Customizable ErrorDocument pages are broken.
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=28574>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=28574
Return links on Customizable ErrorDocument pages are broken.
Summary: Return links on Customizable ErrorDocument pages are
broken.
Product: Apache httpd-2.0
Version: 2.0.49
Platform: Sun
OS/Version: Solaris
Status: NEW
Severity: Normal
Priority: Other
Component: Core
AssignedTo: bugs@httpd.apache.org
ReportedBy: Rolf.Sponsel@kstr.lth.se
CC: Rolf.Sponsel@kstr.lth.se
The return links, i.e. the links linking back to the refering page, in the
Customizable ErrorDocument Pages fail to return to their refering page, if the
refering page's URI had a non-null QUERY_STRING, e.g. '/index.html?query_string'.
The return link is represented as '/index.html%3fquery_string', i.e. to an page
that most likely does not exist, and thus will result in a "HTTP 404 : Object
not found" error instead of returning to the user back to
'/index.html?query_string'.
I noticed that the URL in these pages is inserted as <!--#echo encoding="url"
var="HTTP_REFERER" -->, and thus url-encodes the separating '?' between the
DOCUMENT_URI and QUERY_STRING, i.e. represents it as '%3f' instead of just '?'.
The following pages are affected by this, IMHO, bug:
HTTP_GONE.html.var ( one instance per locale )
HTTP_NOT_FOUND.html.var ( two instance per locale )
and possibly also:
HTTP_UNATUHORIZED.html.var ( one instance per locale )
I'm not sure if it is sufficient to change the encoding to "none", or if there
is need to explicitly represent these return-links with an explicit '?'
separating the DOCUMENT_URI and QUERY_STRING. Probably the latter approach is
needed.
You should be able to trigger this behaviour by:
1). Enable Customizable ErrorDocuments, and restart httpd.
2). Create a page, e.g. index.html, containing a link to
a page that doesn't exsit, e.g. '/FILE-DOES-NOT-EXIST'.
3). Access that page via 'http://localhost/index.html?query_string'.
4). Click on the (broken) link to '/FILE-DOES-NOT-EXIST',
which should trigger a 'Error: 404 - Object not found!'
error response.
5). Click on either the 'referring page', or 'that page' link
in order to - at least intending to - return to your
'/index.html' page. This will fail, and trigger another
404 error instead of returning to '/index.html?query_string'.
As always; should you need more information, the just let me know.
Best Regards,
Rolf Sponsel
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscribe@httpd.apache.org
For additional commands, e-mail: bugs-help@httpd.apache.org