]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/blobdiff - doc/bugs/trouble_with_base_in_search.mdwn
close
[git.ikiwiki.info.git] / doc / bugs / trouble_with_base_in_search.mdwn
index 16e4e74681a7af8e3abb866649480c4149421b5d..7c3d133872ebdca6c25de35657764f3abd3dc3a5 100644 (file)
@@ -41,3 +41,31 @@ Here's a patch:
 
 It works for me, but it has the odd side-effect of prefixing links with a space.  Fortunately that doesn't seem to break browsers.
 And I'm sure someone else could come up with something better and more general.
 
 It works for me, but it has the odd side-effect of prefixing links with a space.  Fortunately that doesn't seem to break browsers.
 And I'm sure someone else could come up with something better and more general.
+
+--[[KathrynAndersen]]
+
+> The `<base href>` is required to be genuinely absolute (HTML 4.01 ยง12.4).
+> Have you tried setting `url` to the public-facing URL, i.e. with `alfred`
+> as the hostname? That seems like the cleanest solution to me; if you're
+> one of the few behind the firewall and you access the site via `betty`
+> directly, my HTTP vs. HTTPS cleanup in recent versions should mean that
+> you rarely get redirected to `alfred`, because most URLs are either
+> relative or "local" (start with '/'). --[[smcv]]
+
+>> I did try setting `url` to the "Alfred" machine, but that doesn't seem clean to me at all, since it forces someone to go to Alfred when they started off on Betty.
+>> Even worse, it prevents me from setting up a test environment on, say, Cassandra, because as soon as one tries to search, one goes to Alfred, then Betty, and not back to Cassandra at all.
+>> Hardcoded solutions make me nervous.
+
+>> I suppose what I would like would be to not need to use a `<base href>` in searching at all.
+>> --[[KathrynAndersen]]
+
+>>> `<base href>` is *not* required to be absolute in HTML5, so when
+>>> `html5: 1` is used, I've changed it to be host-relative in most cases.
+>>> I think that at least partially addresses this bug report,
+>>> particularly if we [[todo/generate HTML5 by default]] like I've suggested.
+>>>
+>>> The `<base>` is there so we can avoid having to compute how to
+>>> get to (the virtual directory containing) the root of the wiki from
+>>> `ikiwiki.cgi`, which might well be somewhere odd like `/cgi-bin/`.
+>>> I think there are probably other things that it fixes or simplifies.
+>>> --[[smcv]]