portal redirect trailing slash
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user