在网址末尾匹配重定向,忽略子字符串

时间:2018-08-30 11:58:37

标签: regex url url-redirection

我目前正在尝试从旧网站重定向到新网站。 域已更改,子路径也已更改,但是结尾始终是相同的,因此我试图创建一个正则表达式,该表达式将忽略子路径,并且仅与结尾匹配,无论组合是什么。

示例:

http://shop.kmsport.dk/team-sport/bolde/fodbolde

https://kmsport.dk/collections/fodbolde

http://shop.kmsport.dk/fodbolde/fodbold-udstryr/anforerbind-325

这3个网址都包含单词“ fodbolde”,但是我只想匹配前两个,因为它们都以“ / fodbolde”结尾,并且忽略了该过程中的子路径。

到目前为止,我已经能够与此匹配:

\/([a-zA-Z]*)*+$

如何创建一些内容来说明不同的子路径?

P.s它是一家大型运动用品商店,因此不必为每种可能的组合创建唯一的重定向-.-

2 个答案:

答案 0 :(得分:0)

如果您仅对最后一部分感兴趣,请继续

hjust = 0

答案 1 :(得分:0)

您当前的正则表达式未考虑 app.UseCors("CorsPolicy"); app.UseStaticFiles(); ConfigureAuth(app); app.UseMvc(); 。如果必须在末尾使用/fodbolde来声明字符串的结尾,例如$

一种可能是匹配字符串/fodbolde$的开头,并可选地匹配shop。 ^https?://后跟(?:shop\.)?

然后使用重复模式匹配,而不是正斜杠,然后不跟正斜杠零次或更多次kmsport\.sk/,并在字符串末尾匹配fodbolde (?:[^/]+/)*

^https?://(?:shop\.)?kmsport\.dk/(?:[^/]+/)*fodbolde$