@@ -139,21 +139,21 @@ private function extractMostRelevantUrlRewrite(string $requestPath, array $urlRe
139
139
$ prioritizedUrlRewrites = [];
140
140
foreach ($ urlRewrites as $ urlRewrite ) {
141
141
switch (true ) {
142
- case $ urlRewrite [UrlRewrite::REQUEST_PATH ] === $ requestPath :
143
- $ priority = 1 ;
144
- break ;
145
- case $ urlRewrite [UrlRewrite::REQUEST_PATH ] === urldecode ($ requestPath ):
146
- $ priority = 2 ;
147
- break ;
148
- case rtrim ($ urlRewrite [UrlRewrite::REQUEST_PATH ], '/ ' ) === rtrim ($ requestPath , '/ ' ):
149
- $ priority = 3 ;
150
- break ;
151
- case rtrim ($ urlRewrite [UrlRewrite::REQUEST_PATH ], '/ ' ) === rtrim (urldecode ($ requestPath ), '/ ' ):
152
- $ priority = 4 ;
153
- break ;
154
- default :
155
- $ priority = 5 ;
156
- break ;
142
+ case $ urlRewrite [UrlRewrite::REQUEST_PATH ] === $ requestPath :
143
+ $ priority = 1 ;
144
+ break ;
145
+ case $ urlRewrite [UrlRewrite::REQUEST_PATH ] === urldecode ($ requestPath ):
146
+ $ priority = 2 ;
147
+ break ;
148
+ case rtrim ($ urlRewrite [UrlRewrite::REQUEST_PATH ], '/ ' ) === rtrim ($ requestPath , '/ ' ):
149
+ $ priority = 3 ;
150
+ break ;
151
+ case rtrim ($ urlRewrite [UrlRewrite::REQUEST_PATH ], '/ ' ) === rtrim (urldecode ($ requestPath ), '/ ' ):
152
+ $ priority = 4 ;
153
+ break ;
154
+ default :
155
+ $ priority = 5 ;
156
+ break ;
157
157
}
158
158
$ prioritizedUrlRewrites [$ priority ] = $ urlRewrite ;
159
159
}
@@ -271,13 +271,14 @@ protected function doReplace(array $urls): array
271
271
{
272
272
$ this ->connection ->beginTransaction ();
273
273
274
- $ this ->deleteOldUrls ($ urls );
275
-
276
- $ data = [];
277
- foreach ($ urls as $ url ) {
278
- $ data [] = $ url ->toArray ();
279
- }
280
274
try {
275
+ $ this ->deleteOldUrls ($ urls );
276
+
277
+ $ data = [];
278
+ foreach ($ urls as $ url ) {
279
+ $ data [] = $ url ->toArray ();
280
+ }
281
+
281
282
$ this ->insertMultiple ($ data );
282
283
283
284
$ this ->connection ->commit ();
@@ -307,6 +308,9 @@ protected function doReplace(array $urls): array
307
308
} else {
308
309
throw $ e ->getPrevious () ?: $ e ;
309
310
}
311
+ } catch (\Exception $ e ) {
312
+ $ this ->connection ->rollBack ();
313
+ throw $ e ;
310
314
}
311
315
312
316
return $ urls ;
0 commit comments