Force comments URL in RSS feeds to be absolute

Now I'm going to get bug reports about wanting the URLs to be
protocol-relative, but we can't win there as long as we generate RSS,
because RSS doesn't have well-defined semantics for relative URLs
(and the W3C's validator complains about them). If absolute URLs are
a problem for you, please use Atom feeds.
master
Simon McVittie 2016-01-21 07:50:13 +00:00
parent 02a1aa4e49
commit 855b757f37
2 changed files with 5 additions and 2 deletions

View File

@ -919,16 +919,18 @@ sub pagetemplate (@) {
} }
if ($shown) { if ($shown) {
my $absolute = $template->param('wants_absolute_urls');
if ($template->query(name => 'commentsurl')) { if ($template->query(name => 'commentsurl')) {
$template->param(commentsurl => $template->param(commentsurl =>
urlto($page).'#comments'); urlto($page, undef, $absolute).'#comments');
} }
if ($template->query(name => 'atomcommentsurl') && $config{usedirs}) { if ($template->query(name => 'atomcommentsurl') && $config{usedirs}) {
# This will 404 until there are some comments, but I # This will 404 until there are some comments, but I
# think that's probably OK... # think that's probably OK...
$template->param(atomcommentsurl => $template->param(atomcommentsurl =>
urlto($page).'comments.atom'); urlto($page, undef, $absolute).'comments.atom');
} }
if ($template->query(name => 'commentslink')) { if ($template->query(name => 'commentslink')) {

View File

@ -725,6 +725,7 @@ sub genfeed ($$$$$@) {
my $template=template_depends($feedtype."page.tmpl", $page, blind_cache => 1); my $template=template_depends($feedtype."page.tmpl", $page, blind_cache => 1);
$template->param( $template->param(
wants_absolute_urls => 1,
title => $feedtitle, title => $feedtitle,
wikiname => $config{wikiname}, wikiname => $config{wikiname},
pageurl => $url, pageurl => $url,