aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki.pm
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2014-10-05 15:56:19 +0100
committerSimon McVittie <smcv@debian.org>2014-10-05 15:56:19 +0100
commit532f7adfdba3c852487216b0241b25d3de57acc6 (patch)
treea60cab10931514018069fbac24968a180b38d108 /IkiWiki.pm
parentfe9e94513ab0d57f182a6922957ea14c773b4fae (diff)
downloadikiwiki-532f7adfdba3c852487216b0241b25d3de57acc6.tar
ikiwiki-532f7adfdba3c852487216b0241b25d3de57acc6.tar.gz
Use protocol-relative URIs if cgiurl and url differ only by authority (hostname)
Diffstat (limited to 'IkiWiki.pm')
-rw-r--r--IkiWiki.pm11
1 files changed, 9 insertions, 2 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm
index d5d11ee85..c1518a2ae 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -613,12 +613,19 @@ sub checkconfig () {
$local_cgiurl = $cgiurl->path;
- if ($cgiurl->scheme ne $baseurl->scheme or
- $cgiurl->authority ne $baseurl->authority) {
+ if ($cgiurl->scheme ne $baseurl->scheme) {
# too far apart, fall back to absolute URLs
$local_url = "$config{url}/";
$local_cgiurl = $config{cgiurl};
}
+ elsif ($cgiurl->authority ne $baseurl->authority) {
+ # slightly too far apart, fall back to
+ # protocol-relative URLs
+ $local_url = "$config{url}/";
+ $local_url =~ s{^https?://}{//};
+ $local_cgiurl = $config{cgiurl};
+ $local_cgiurl =~ s{^https?://}{//};
+ }
}
$local_url =~ s{//$}{/};