我有一個來自舊網站結構的長列表,我需要使用RedirectMatch重定向到同一個域上的新網址。訣竅是舊的(源)URL包含一堆亂七八糟的變量。這不是問題,對吧?我只是放置了一些可愛的小Regexp語句來處理這些變量。這就是我所做的,它正確地匹配變量。甜!Regexp/htaccess重寫樂趣
問題伴隨着RedirectMatch語句的第二部分 - 目標。除舊舊變量附加到新網址之外,RedirectMatch正確地將舊網址解析爲新網址。我想保留重定向,但目標網址不包含變量。這裏是我的代碼:
RedirectMatch 301 ^/Shop/Category1/Category2/(.*)$ http://www.website.com/garage.html
實際重定向URL:
http://www.website.com/garage.html?launch_pg=itemZoomView&launch_sel=1009152&launch_pg_sp=true&title=Pig+Waste+Can
任何人都可以點我,我做錯了什麼在這裏?我只是想擺脫那些糟糕的舊變量,並開始新鮮。
是的,自從這篇文章我在進行的研究中發現了這個問題,並且給了它一個旋轉。結果是額外的「?」只是追加到變量的開頭,例如:http://www.website.com/garage.html??launch_pg=itemZoomView&launch_sel=1009152&launch_pg_sp=true&title=Pig+Waste+Can –
@Tela - 我不知道你做了什麼 - 但不應該那樣工作。我提供的代碼工作率達到100% - 我運行了幾個使用類似代碼的網站,而Apache 2.2.17沒有任何問題。 – LazyOne
@Tela我添加了mod_rewrite支持的重定向規則,它可以完成同樣的工作。 – LazyOne