File tree 2 files changed +5
-4
lines changed
2 files changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -108,7 +108,7 @@ export function getMediaUrl(
108
108
return undefined ;
109
109
}
110
110
111
- return transformToXpLayerUrl ( url , language ) . replace (
111
+ return transformToXpLayerUrl ( url , isEditorView , language ) . replace (
112
112
internalUrlPrefixPattern ,
113
113
isEditorView ? `${ adminOrigin } ${ xpDraftPathPrefix } ` : xpOrigin
114
114
) ;
@@ -143,8 +143,9 @@ export const routerQueryToXpPathOrId = (routerQuery: string | string[]) => {
143
143
144
144
// Direct links to XP assets or services should point to the appropriate layer for the specified language
145
145
// The /_/<language> repo mappings are defined in the vhost config on the XP servers
146
- export const transformToXpLayerUrl = ( url : string , language : Language ) => {
146
+ export const transformToXpLayerUrl = ( url : string , isEditorView : boolean , language : Language ) => {
147
+ const path = getInternalRelativePath ( url , isEditorView ) ;
147
148
const layer = pageLanguageToLayerLanguage [ language ] ;
148
149
149
- return layer ? url . replace ( '/_' , `/_/${ layer } ` ) : url ;
150
+ return layer ? path . replace ( / ^ \/ _ / , `/_/${ layer } ` ) : path ;
150
151
} ;
Original file line number Diff line number Diff line change @@ -17,7 +17,7 @@ export const usePublicUrl = (href: string): ReturnValue => {
17
17
18
18
if ( isXpUrl ( href ) ) {
19
19
return {
20
- url : transformToXpLayerUrl ( href , language ) ,
20
+ url : transformToXpLayerUrl ( href , ! ! editorView , language ) ,
21
21
canRouteClientSide : false ,
22
22
} ;
23
23
}
You can’t perform that action at this time.
0 commit comments