safe => 1,
rebuild => 1,
},
+ mirrorlist_use_cgi => {
+ type => 'boolean',
+ example => 1,
+ description => "generate links that point to the mirrors' ikiwiki CGI",
+ safe => 1,
+ rebuild => 1,
+ },
+}
+
+sub checkconfig () {
+ if (! defined $config{mirrorlist_use_cgi}) {
+ $config{mirrorlist_use_cgi}=0;
+ }
}
sub pagetemplate (@) {
join(", ",
map {
qq{<a href="}.
- $config{mirrorlist}->{$_}."/".urlto($page, "").
+ ( $config{mirrorlist_use_cgi} ?
+ $config{mirrorlist}->{$_}."?do=goto&page=$page" :
+ $config{mirrorlist}->{$_}."/".urlto($page, "") ).
qq{">$_</a>}
} keys %{$config{mirrorlist}}
).
wiki. For each mirror, a name and an url should be specified. Pages are
assumed to exist in the same location under the specified url on each
mirror.
+
+In case the `usedirs` setting is not the same on all your mirrors, or
+if it is not the same on your local wiki as on the mirror a
+possibility is to let each mirror's ikiwiki CGI find out the correct
+target page url themselves; in that case the mirrors urls must be set
+to their ikiwiki CGI url instead of their base url. Example:
+
+ mirrorlist_use_cgi => 1,
+ mirrorlist => {
+ 'mirror1' => 'https://mirror.example.org/ikiwiki.cgi',
+ 'mirror2' => 'https://mirror2.example.org/ikiwiki.cgi',
+ },
+
+The mirrors must have the ikiwiki CGI and the [[goto]] plugin enabled
+for this to work.