@@ -26,12 +26,12 @@ class DbStorage extends AbstractStorage
2626 /**
2727 * DB Storage table name
2828 */
29- const TABLE_NAME = 'url_rewrite ' ;
29+ public const TABLE_NAME = 'url_rewrite ' ;
3030
3131 /**
3232 * Code of "Integrity constraint violation: 1062 Duplicate entry" error
3333 */
34- const ERROR_CODE_DUPLICATE_ENTRY = 1062 ;
34+ public const ERROR_CODE_DUPLICATE_ENTRY = 1062 ;
3535
3636 /**
3737 * @var AdapterInterface
@@ -139,9 +139,10 @@ private function extractMostRelevantUrlRewrite(string $requestPath, array $urlRe
139139 $ prioritizedUrlRewrites = [];
140140 foreach ($ urlRewrites as $ urlRewrite ) {
141141 $ urlRewriteRequestPath = $ urlRewrite [UrlRewrite::REQUEST_PATH ];
142- $ urlRewriteTargetPath = $ urlRewrite [UrlRewrite::TARGET_PATH ];
142+ $ urlRewriteTargetPath = $ urlRewrite [UrlRewrite::TARGET_PATH ] ?? '' ;
143+ $ trimmedUrlRewriteRequestPath = rtrim ($ urlRewriteRequestPath ?? '' , '/ ' );
143144 switch (true ) {
144- case rtrim ( $ urlRewriteRequestPath , ' / ' ) === rtrim ($ urlRewriteTargetPath , '/ ' ):
145+ case $ trimmedUrlRewriteRequestPath === rtrim ($ urlRewriteTargetPath , '/ ' ):
145146 $ priority = 99 ;
146147 break ;
147148 case $ urlRewriteRequestPath === $ requestPath :
@@ -150,10 +151,10 @@ private function extractMostRelevantUrlRewrite(string $requestPath, array $urlRe
150151 case $ urlRewriteRequestPath === urldecode ($ requestPath ):
151152 $ priority = 2 ;
152153 break ;
153- case rtrim ( $ urlRewriteRequestPath , ' / ' ) === rtrim ($ requestPath , '/ ' ):
154+ case $ trimmedUrlRewriteRequestPath === rtrim ($ requestPath , '/ ' ):
154155 $ priority = 3 ;
155156 break ;
156- case rtrim ( $ urlRewriteRequestPath , ' / ' ) === rtrim (urldecode ($ requestPath ), '/ ' ):
157+ case $ trimmedUrlRewriteRequestPath === rtrim (urldecode ($ requestPath ), '/ ' ):
157158 $ priority = 4 ;
158159 break ;
159160 default :
0 commit comments