2013-01-01 54 views
1

我想在所有%2B的網址上使用301重定向到+。 URL中的+是urlencoded空間。鏈接到我的其他網站在URL中創建了%2B,並且正在創建一個有效的動態頁面,導致重複的內容。重定向%2B到+

例如:

http://www.mythicalcreatureslist.com/mythical-creature/Feng%2BHwang

應該重定向到:

http://www.mythicalcreatureslist.com/mythical-creature/Feng+Hwang

我設法用的20%至做到這一點通過使用此代碼:

Options +FollowSymlinks -MultiViews 
RewriteRule ^(.+)(\s|%20)(.+)$ /$1+$3 [R=301,QSA,L,NE] 

所以試過這個:

RewriteRule ^(.+)(\s|%2B)(.+)$ /$1+$3 [R=301,QSA,L,NE] 

但是沒有做什麼。任何幫助表示讚賞。

+0

多少 '%2B' 將在網址是什麼? –

+0

將有多達3'%2B' – Egan7

回答

0

下面的代碼可以幫助你:

RewriteEngine On 
RewriteCond %{THE_REQUEST} %2B 
RewriteRule ^(.+)$ %{REQUEST_URI} [R=301,L,QSA,NE] 
+0

Fantastico!這是一個真正的享受。雖然以上與%2B的鏈接奇怪地鏈接到舊的髒網址(單獨的問題),但重要的是重複內容下的Google網站站長工具鏈接都指向一個帶有+的URL。這將真正幫助打擊我的重複內容問題。謝謝habeebperwad! :) – Egan7

+1

P.S.對於具有相同問題的其他人:如果上述代碼不起作用,並且出現500個內部服務器錯誤,請取出方括號中的空格。 [R = 301,L,QSA,NE] – Egan7

+0

@ Egan7我得到了問題。但我不明白這個問題。不應該在那裏添加空格? –