From nobody@hyperreal.com Wed Feb 12 08:45:11 1997 Received: by taz.hyperreal.com (8.8.4/V2.0) id IAA29230; Wed, 12 Feb 1997 08:45:11 -0800 (PST) Message-Id: <199702121645.IAA29230@taz.hyperreal.com> Date: Wed, 12 Feb 1997 08:45:11 -0800 (PST) From: Lars-Owe Ivarsson Reply-To: Lars-Owe.Ivarsson@its.uu.se To: apbugs@hyperreal.com Subject: Possible bug WRT default language vs. language negotioation X-Send-Pr-Version: 3.2 >Number: 170 >Category: mod_negotiation >Synopsis: Possible bug WRT default language vs. language negotioation >Confidential: no >Severity: critical >Priority: medium >Responsible: apache >State: closed >Class: sw-bug >Submitter-Id: apache >Arrival-Date: Wed Feb 12 08:50:01 1997 >Last-Modified: Sun Jun 29 17:39:13 PDT 1997 >Originator: Lars-Owe.Ivarsson@its.uu.se >Organization: >Release: 1.2b6 with four patches >Environment: AIX 4.1.5, xlC 3.1.3 >Description: http://www.apache.org/docs/content-negotiation.html says: For example, consider the situation with three variants: foo.en.html, language en foo.fr.html, language en foo.html, no language The meaning of a variant with no language is that it is always acceptable to the browser. If the request Accept-Language header includes either en or fr (or both) one of foo.en.html or foo.fr.html will be returned. If the browser does not list either en or fr as acceptable, foo.html will be returned instead. I tried to create files foo.html.de, foo.html.en, and foo.html. Using Netscape (Mac version, should it matter) asking for 'de' (german) as prefered language, this returns foo.html. If I remove foo.html, foo.html.de will be returned as expected. (Using foo.en.html, foo.de.html, and foo.html will also return foo.html if it exists, and give an error otherwise.) It appears to me that the existance of a file foo.html as default means that the server always sends that file, regardless of whether the client asks for a particular language or not. Have I missed something? I'm using Apache 1.2b6 with the four patches applied. A HowTo guide explaning how to set up links within a multiple language server would be nice. It appears that the co-existance with MS IE 3 is particulary difficult. >How-To-Repeat: http://www.its.uu.se/foo contains: ll foo total 16 -rw-r--r-- 1 root web 3355 Feb 12 17:43 foo.html -rw-r--r-- 1 root web 579 Feb 12 17:05 foo.html.de -rw-r--r-- 1 root web 3355 Feb 12 17:05 foo.html.en $ >Fix: >Audit-Trail: State-Changed-From-To: open-feedback State-Changed-By: coar State-Changed-When: Tue May 13 11:29:11 PDT 1997 State-Changed-Why: Apologies for the delay in getting back to you. Some changes were made in the area of negociation. Can you reproduce this with a more recent beta (such as 1.2b8 or 1.2b10)? What happens if you ask for "foo" rather than "foo.html"? State-Changed-From-To: feedback-closed State-Changed-By: dgaudet State-Changed-When: Sun Jun 29 17:39:13 PDT 1997 State-Changed-Why: If a file named "foo.html" exists apache will return that when asked for foo.html, regardless of the existance of foo.html.de, foo.html.fr, etc. and the Accept-Languages header. To do otherwise is a performance pig. You should be able to work around this with .var files, or by naming the files "foo.fr.html", "foo.de.html", "foo.html" and referring to the object as simply "foo". Thanks for using Apache! Dean >Unformatted: