2016-01-20 94 views
0

對於正則表達式我不太好。我有一個電子商務網站從PD Shop轉移到Woocommerce。我需要爲舊網站上的頁面編寫301以重定向到新網站上的相應頁面。問題是網站A的網址結構與網站B完全不同。而不是手動爲成千上萬的產品做手動,我想使用RegEx,但我甚至不確定它可以完成。301使用正則表達式重定向

如果有人有任何關於如何解決這個問題的見解,我非常感謝幫助。我不想一次只做一個鏈接,但我看不出如何。

舊的鏈接結構是這樣的:

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.dom ain.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

請注意,您的示例不遵循規定的模式。顏色消失,並不總是領先/產品/。我在回答中忽略了他們。 – Aaron

+0

你是對的。他們並不總是遵循常規模式。如果他們這樣做了,這不會是一個挑戰。新網站將諸如顏色之類的屬性分隔爲選項,而舊網站則將每個顏色選項創建爲單獨的產品。 – CChoma

+0

你應該檢查一下你是否可以用某種模式匹配90%,然後用手移動其餘的。這並不總是一個很好的利用你的時間來自動化一切。 – Aaron

回答

0

您應該匹配www.domain.com/shop/item.aspx/([^/]+)/.*並將其替換爲www.domain.com/product/\1/

匹配模式匹配以公共根(www.domain.com/shop/item.aspx/)開頭的url,將它們的下一個路徑片段(所有內容直到下一個斜槓)分組並匹配該行的其餘部分。

替換片段只是重複新的公共根旁邊的分組路徑片段。

相關問題