@@ -63,6 +63,7 @@ protected virtual Redirect MapToSearchResult(RedirectSearchResultItem redirectSe
6363 this . logger . Error ( $ "Failed to parse source protocol { redirectSearchResultItem . SourceProtocol } ", this ) ;
6464 }
6565
66+ var sourceTerm = redirectSearchResultItem . SourceTerm ;
6667 var redirect = new Redirect
6768 {
6869 RedirectSearchData = redirectSearchData ,
@@ -71,21 +72,22 @@ protected virtual Redirect MapToSearchResult(RedirectSearchResultItem redirectSe
7172 SourceProtocol = sourceProtocol ,
7273 RegexEnabled = redirectSearchResultItem . RegexEnabled ,
7374 PreserveQueryString = redirectSearchResultItem . PreserveQueryString ,
74- Term = redirectSearchResultItem . SourceTerm
75+ Term = sourceTerm
7576 } ;
7677
77- this . HandlePreserveQueryString ( redirect , redirectSearchResultItem ) ;
78+ this . HandlePreserveQueryString ( redirect , sourceTerm ) ;
7879 return redirect ;
7980 }
8081
81- protected virtual void HandlePreserveQueryString ( Redirect redirect , RedirectSearchResultItem redirectSearchResultItem )
82+ protected virtual void HandlePreserveQueryString ( Redirect redirect , string sourceTerm )
8283 {
8384 if ( ! redirect . PreserveQueryString ) return ;
8485
8586 redirect . RegexEnabled = true ;
86- if ( ! redirectSearchResultItem . SourceTerm . EndsWith ( Constants . RegularExpressions . QueryStringExpression ) )
87+ if ( ! string . IsNullOrWhiteSpace ( sourceTerm )
88+ && ! sourceTerm . EndsWith ( Constants . RegularExpressions . QueryStringExpression ) )
8789 {
88- redirect . Term = redirectSearchResultItem . SourceTerm + Constants . RegularExpressions . QueryStringExpression ;
90+ redirect . Term = sourceTerm + Constants . RegularExpressions . QueryStringExpression ;
8991 }
9092 }
9193
0 commit comments