fix: don't duplicate path in URL to post on subdirectory installs. (#3354)

`baseUrl` includes the path portion of the url, as does `basePath`, which is included in `app.route.x` function outputs. The `baseOrigin` (with no path component at all) should be used instead.
This commit is contained in:
Alexander Skvortsov 2022-04-23 10:23:03 -04:00 committed by GitHub
parent b8df3863d1
commit 863a8ddfff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 2 deletions

View File

@ -55,6 +55,6 @@ export default class PostMeta extends Component {
* @returns {string}
*/
getPermalink(post) {
return app.forum.attribute('baseUrl') + app.route.post(post);
return app.forum.attribute('baseOrigin') + app.route.post(post);
}
}

View File

@ -75,7 +75,8 @@ class ForumSerializer extends AbstractSerializer
'description' => $this->settings->get('forum_description'),
'showLanguageSelector' => (bool) $this->settings->get('show_language_selector', true),
'baseUrl' => $url = $this->url->to('forum')->base(),
'basePath' => parse_url($url, PHP_URL_PATH) ?: '',
'basePath' => $path = parse_url($url, PHP_URL_PATH) ?: '',
'baseOrigin' => substr($url, 0, strlen($url) - strlen($path)),
'debug' => $this->config->inDebugMode(),
'apiUrl' => $this->url->to('api')->base(),
'welcomeTitle' => $this->settings->get('welcome_title'),