2016-10-02 49 views
0

我試圖清理我們擁有的重定向,並且我剛剛發現了IF/ELSE/ELSEIF功能。不過,我需要一些幫助的語法或一些例子。.htaccess - 使用IF/ELSE/ELSEIF - 需要一些示例/語法

假設有5-10個可能的舊鏈接,全部引用相同的商品/ SKU。它們可能看起來像:/old_category/old_subcat/widget_SKU12345.html/special-items/red-widget-SKU12345.php或「/on_sale/special_SKU12345.html」等等 - 基本上,一堆舊鏈接指的是一個特定的項目。

我該如何在.htaccess中寫一條語句,如下所示:「如果請求以.html或.php結尾,並且它包含字符串」SKU12345「,則將請求重定向到/ newcategory/newsubcat/SKU12345 「?

回答

0

您可以使用這一行來實現該結果。

RewriteRule (old_category/old_subcat/widget_|special-items/red-widget-|on_sale/special_)(.+)\.(html|php)$ /newcategory/newsubcat/$2 [R=301,L] 
+0

ban17:這是一個很好的例子,我會在其他情況下記住它。但我需要的卻恰恰相反 - 我不知道傳入鏈接的格式(按類別/子類別) - 該網站多年來經歷了多種結構,直到它們出現在404報告中,沒有辦法預測它們。唯一不變的是SKU(或型號名稱),所以我需要尋找特定字符串的東西,而不管它包圍的是什麼。 – TomJones999