From a7ee8a8bc9cd2926c84fbf09bcb16a9c6c36fd0a Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Thu, 30 Jun 2016 12:02:35 +0200 Subject: [PATCH] Avoid redirection loops at /fetch/ and /p/ --- mod/fetch.php | 10 ++++++---- mod/p.php | 10 ++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/mod/fetch.php b/mod/fetch.php index cfcd82bb31..1c73ad3718 100644 --- a/mod/fetch.php +++ b/mod/fetch.php @@ -27,11 +27,13 @@ function fetch_init($a){ $parts = parse_url($r[0]["author-link"]); $host = $parts["scheme"]."://".$parts["host"]; - $location = $host."/fetch/".$a->argv[1]."/".urlencode($guid); + if (normalise_link($host) != normalise_link(App::get_baseurl())) { + $location = $host."/fetch/".$a->argv[1]."/".urlencode($guid); - header("HTTP/1.1 301 Moved Permanently"); - header("Location:".$location); - killme(); + header("HTTP/1.1 301 Moved Permanently"); + header("Location:".$location); + killme(); + } } header($_SERVER["SERVER_PROTOCOL"].' 404 '.t('Not Found')); diff --git a/mod/p.php b/mod/p.php index 899b51116d..8da044e932 100644 --- a/mod/p.php +++ b/mod/p.php @@ -31,11 +31,13 @@ function p_init($a){ $parts = parse_url($r[0]["author-link"]); $host = $parts["scheme"]."://".$parts["host"]; - $location = $host."/p/".urlencode($guid).".xml"; + if (normalise_link($host) != normalise_link(App::get_baseurl())) { + $location = $host."/p/".urlencode($guid).".xml"; - header("HTTP/1.1 301 Moved Permanently"); - header("Location:".$location); - killme(); + header("HTTP/1.1 301 Moved Permanently"); + header("Location:".$location); + killme(); + } } header($_SERVER["SERVER_PROTOCOL"].' 404 '.t('Not Found'));