aboutsummaryrefslogtreecommitdiff
path: root/lib/Minz/Request.php
diff options
context:
space:
mode:
authorGravatar Alexandre Alapetite <alexandre@alapetite.fr> 2022-02-04 15:41:20 +0100
committerGravatar GitHub <noreply@github.com> 2022-02-04 15:41:20 +0100
commit88b934da8bec70da1400525748336c0b71864b1a (patch)
treef5396060578dc05f6f0aee206387b479db2dccb7 /lib/Minz/Request.php
parent60d96652dda458aeae78fd25f7c5f6818d518ef1 (diff)
Fix root redirection (#4167)
* Fix root redirection #fix https://github.com/FreshRSS/FreshRSS/issues/4126 * Smarter
Diffstat (limited to 'lib/Minz/Request.php')
-rw-r--r--lib/Minz/Request.php17
1 files changed, 8 insertions, 9 deletions
diff --git a/lib/Minz/Request.php b/lib/Minz/Request.php
index ee3962615..d67e23fdf 100644
--- a/lib/Minz/Request.php
+++ b/lib/Minz/Request.php
@@ -147,9 +147,9 @@ class Minz_Request {
/**
* Try to guess the base URL from $_SERVER information
*
- * @return string base url (e.g. http://example.com/)
+ * @return string base url (e.g. http://example.com)
*/
- public static function guessBaseUrl() {
+ public static function guessBaseUrl(): string {
$protocol = self::extractProtocol();
$host = self::extractHost();
$port = self::extractPortForUrl();
@@ -225,12 +225,11 @@ class Minz_Request {
return '';
}
- /**
- * @return string
- */
- private static function extractPath() {
- if ('' != $path = ($_SERVER['REQUEST_URI'] ?? '')) {
- return '/' === substr($path, -1) ? substr($path, 0, -1) : dirname($path);
+ private static function extractPath(): string {
+ $path = $_SERVER['REQUEST_URI'] ?? '';
+ if ($path != '') {
+ $path = parse_url($path, PHP_URL_PATH);
+ return substr($path, -1) === '/' ? rtrim($path, '/') : dirname($path);
}
return '';
}
@@ -343,7 +342,7 @@ class Minz_Request {
$url['params']['rid'] = self::requestId();
if ($redirect) {
- header('Location: ' . Minz_Url::display($url, 'php'));
+ header('Location: ' . Minz_Url::display($url, 'php', 'root'));
exit();
} else {
self::_controllerName($url['c']);