portal redirect trailing slash

This commit is contained in:
Yuri Kuznetsov
2025-08-08 18:29:58 +03:00
parent b18c70bea3
commit 5d32456820
2 changed files with 30 additions and 1 deletions
@@ -138,4 +138,23 @@ class Url
return false;
}
public static function getRedirectUrlWithTrailingSlash(): ?string
{
$uri = $_SERVER['REQUEST_URI'];
if ($uri === '' || $uri === '/' || str_ends_with($uri, '/')) {
return null;
}
$output = $uri . '/';
$queryString = $_SERVER['QUERY_STRING'] ?? null;
if ($queryString !== null && $queryString !== '') {
$output .= '?' . $_SERVER['QUERY_STRING'];
}
return $output;
}
}
+10
View File
@@ -48,8 +48,18 @@ if (Url::detectIsInPortalDir()) {
if (Url::detectIsInPortalWithId()) {
$basePath = '../../';
$redirectUrl = Url::getRedirectUrlWithTrailingSlash();
if ($redirectUrl) {
header('Location: ' . $redirectUrl, true, 301);
exit;
}
}
}
if ($basePath !== null) {
$app->setClientBasePath($basePath);
}