我一直是很長時間的讀者,但這是我的第一篇文章。通常情況下,我可以通過任何問題解決我的問題,但這個問題讓我花了很多時間,而且我無所適從。.htaccess - 從網址去除角色'%26'
從好的一面來說,我已經學到了很多關於.htaccess代碼的構成,而不是我所有這些年來一直在做的剪切和粘貼。
手頭的問題是我正在從舊的CMS系統遷移到新的系統。舊系統在網址中以十六進制格式'%26'顯示[ < &>>字符。新的CMS系統將其完全剝離。我一直試圖通過重寫規則來刪除它。
The objective is to make this url:
http://domain.com.au/drums-%26-percussion/
Redirect to this:
http://domain.com.au/drums-percussion/
我已經嘗試了很多行和組合,但這兩個例子都是我能得到的最接近它的工作。
Example A)
RewriteRule ^(.*)\%26(.*)$ http://domain.com.au/$1-$2 [L,NE,N,R=301]
上面的實例作品,如果我實際使用&,而不是十六進制格式%26。由於某種原因,我不知道我的火災。例如,沒有任何反應。我已經厭倦了26%左右的變化。
Example B)
RewriteCond %{THE_REQUEST} ^(.*)(-%26-)(.*) [NC]
RewriteRule^http://domain.com.au/$1-$2 [L,NE,R=302]
我在某處讀到%26不得不放入要拾取的條件。所以我嘗試了這個。它讀取%26並關閉重定向。問題是我沒有傳達$ 1 $ 2的價值。我得到這個代碼的最終結果是:
Start:
http://domain.com.au/drums-%26-percussion/
Redirect:
http://derringers.testpad.com.au/-
我欣賞任何和所有的建議是這個問題。謝謝。
謝謝你對此的澄清。我使用了正確的流程,但是由於什麼原因無法查看/測試所需的結果。有時候你可以四處循環,想念你正前方的答案。 上面的重寫代碼完美地工作。謝謝。 – MetalMonkey
我想投票這是正確的,但我沒有足夠的代表。感謝你的寶貴時間。 – MetalMonkey