better fix developed on #httpd channel
[ikiwiki.git] / doc / bugs / po:_apache_config_serves_index.rss_for_index.mdwn
index e6e1b57a87647574f1bf78d8e0d63eaa35d52147..7acbfe82dd4b2a6733ca63e9c83294aa552dd569 100644 (file)
@@ -11,8 +11,8 @@ 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,*/*"
+* 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
@@ -26,3 +26,11 @@ 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]]
+
+Update: A non-intrusive fix is to add this to apache configuration. 
+This tunes the "quality" of the rss and atom files, in an apparently currently
+undocumented way (though someone on #httpd suggested it should get documented).
+Result is that apache will prefer serving index.html. --[[Joey]] 
+
+       AddType application/rss+xml;qs=0.8 .rss
+       AddType application/atom+xml;qs=0.8 .atom