]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
Merge branch 'master' of ssh://git.ikiwiki.info/srv/git/ikiwiki.info
authorJoey Hess <joey@kitenet.net>
Sat, 18 Sep 2010 16:58:41 +0000 (12:58 -0400)
committerJoey Hess <joey@kitenet.net>
Sat, 18 Sep 2010 16:58:41 +0000 (12:58 -0400)
doc/bugs/po:_apache_config_serves_index.rss_for_index.mdwn [new file with mode: 0644]
doc/plugins/po.mdwn

diff --git a/doc/bugs/po:_apache_config_serves_index.rss_for_index.mdwn b/doc/bugs/po:_apache_config_serves_index.rss_for_index.mdwn
new file mode 100644 (file)
index 0000000..e6e1b57
--- /dev/null
@@ -0,0 +1,28 @@
+The apache config documented in [[plugins/po]] has a subtle bug. It works
+until a site gets an index.atom or index.rss file. (Acutally, with po
+enabled, they're called index.en.atom or index.en.rss etc, but the result
+is the same).
+
+Then, when wget, curl, or w3m is pointed at http://site/, apache serves
+up the rss/atom file rather than the index page.
+
+Analysis:
+
+* /etc/mime.types gives mime types to .rss and .atom files
+* `mod_negotiation`'s MultiViews allows any file with a mime type to be
+  served up via content negotiation, if the client requests that type.
+* wget etc send "Accept: */*" to accept all content types. Compare
+  with firefox, which sends "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*"
+* So apache has a tie between a html encoded Enlish file, and a rss encoded
+  English file and the client has no preference. In a tie, apache will serve up the
+  *smallest* file, which tends to be the rss file. (Apache's docs say it uses that
+  strange criteria to break ties; see <http://httpd.apache.org/docs/2.0/mod/mod_mime.html#multiviewsmatch>)
+
+The only way I have found to work around this problem is to remove
+atom and rss from /etc/mime.types. Of course, that has other undesirable
+results. 
+
+I wonder if it would be worth making the po plugin generate apache 
+[type map files](http://httpd.apache.org/docs/2.0/mod/mod_negotiation.html#typemaps).
+That should avoid this problem.
+--[[Joey]]
index 2acbc366a033ade129c009cc03c2da9806b0ef7d..ca1775f6e4ec49bbb7c889a1a424f85a1e322dae 100644 (file)
@@ -120,10 +120,6 @@ Add 'Options MultiViews' to the wiki directory's configuration in Apache.
 When `usedirs` is enabled, one has to set `DirectoryIndex index` for
 the wiki context.
 
-Setting `DefaultLanguage LL` (replace `LL` with your default MIME
-language code) for the wiki context can help to ensure
-`bla/page/index.en.html` is served as `Content-Language: LL`.
-
 For details, see [Apache's documentation](http://httpd.apache.org/docs/2.2/content-negotiation.html).
 
 lighttpd