我对RegEx不太满意。我有一个电子商务网站从PD商店转移到Woocommerce。我需要为旧网站上的页面写301,以重定向到新网站上的相应页面。问题是网站A的网址结构与网站B的网址结构完全不同。我不想手动操作数千种产品,而是想使用RegEx,但我甚至不确定是否可以完成。< / p>
如果有人对如何解决此问题有任何见解,我真的很感激帮助。我不想一次只做一个链接,但我不知道如何。
旧链接的结构如下:
www.domain.com/shop/item.aspx/item-name/id /
示例:
www.domain.com/shop/item.aspx/sierra-saw/58 /
www.domain.com/shop/item.aspx/duffle-bag-double-strap-olive/2206 /
www.domain.com/shop/item.aspx/duffle-bag-side-zipper-black/2207 /
新链接的结构如下:
www.domain.com/product/item-name /
示例:
www.domain.com/product/sierra-saw /
www.domain.com/product/double-strap-duffle-bag /
www.domain.com/product/double-strap-duffle-bag /
答案 0 :(得分:0)
您应该匹配www.domain.com/shop/item.aspx/([^/]+)/.*
并将其替换为www.domain.com/product/\1/
。
匹配模式匹配从公共根(www.domain.com/shop/item.aspx/
)开始的url,将它们的下一个路径片段(一切到下一个斜线)分组并匹配该行的其余部分。
替换片段只重复新公共根旁边的分组路径片段。