Bug #90228

Typolink: Forcing absolute url scheme does not work

Added by Mario Lubenka 28 days ago. Updated 10 days ago.

Status:
Under Review
Priority:
Should have
Assignee:
-
Category:
Frontend
Start date:
2020-01-28
Due date:
% Done:

0%

TYPO3 Version:
9
PHP Version:
Tags:
Complexity:
easy
Is Regression:
Sprint Focus:

Description

According to documentation it is possible to force a url scheme (like https) as below:

page.1 = TEXT
page.1.typolink.parameter = 2
page.1.typolink.returnLast = url
page.1.typolink.forceAbsoluteUrl = 1
page.1.typolink.forceAbsoluteUrl.scheme = https

However the generated URL still only has the http protocol.

Looking into the PageUrlBuilder the corresponding line $url = $this->forceAbsoluteUrl($url, $conf); is only run for access-restricted pages.

Applying that to all urls by moving it down a line works for the scheme.
However the RegEx that is used seems to miss out on the / between base url and path.
So instead of "https://mypage.site/home" it generates "https://mypage.sitehome".

This RegEx seems to work better: #^(?:([a-z]+)(://)([^/]*)(/?))?(.*)$# (see RegEx in action)

I only tested this for TYPO3 9.5.13. Might affect 8.7 as well.

History

#1 Updated by Mario Lubenka 28 days ago

  • Description updated (diff)

#2 Updated by Mario Lubenka 28 days ago

So... simply moving the "forceAbsoluteUrl" seems to break Frontend rendering. :(
And the new RegEx might not be necessary. It might be enough to add the missing / before the path.

#3 Updated by Gerrit Code Review 10 days ago

  • Status changed from New to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/63252

Also available in: Atom PDF