啓動一個新的客戶端的新網站。他們的舊網站大約有50種產品,不幸的是,舊的產品名稱不匹配到新的URL模式簡單的mod_rewrite RewriteRule爲凌亂的傳統網址
舊網址的例子:
example.com/products.aspx?category=Foo&product=SuperLongNoBreakProductNameIDDescription
example.com/products.aspx?category=Foo&product=ProductNameDescription&var1=1293.123
example.com/products.aspx?category=Bar&product=ProductCategoryProdNameRandomNumbers
(舊網址有時會打150+個字符。)
新的URL:
example.com/products/category/actual-product-name
有沒有固定的,可識別的圖案從舊的產品名稱,轉到新的。有類別。
我試過簡單的mod_alias重定向,但明白我需要一個RewriteRule來代替。但我有問題。我需要的僅僅是這50個URL中的每一個的1對1重定向。我以爲我可以做這樣的事情:
RewriteRule ^/products.aspx?category=Foo&product=ProductName
/products/category/new-product-name/ [R=301,NC]
但是,這是行不通的。我知道這應該很簡單,但我被卡住了。有任何想法嗎?
究竟什麼不起作用? – Jonathan
對於好的形式,您應該可以避開這段時間,例如'產品\ .aspx'。另外,請參閱下面有關RewriteCond的答案。稍後在.htaccess中是否有其他RewriteRules會影響重寫的URL?你可能想在你做外部重定向的地方使用'L'標誌。 – JMM
感謝JMM的迴應。沒有其他重寫規則。該網站的其餘部分能夠用簡單的重定向來照顧。也沒有外部重定向。 –