解決因%2F導致URL重寫時mod_rewrite失效的問題
來源:奈福網絡 時間:2018-05-11 03:49:57上海網站建設上海網頁設計奈福網絡科技最近在維護上海永(yong)久(jiu)自(zi)行車官網的時候,發現(xian)在用(yong)戶中心有幾(ji)個(ge)頁面無法(fa)訪問,經過研(yan)究分析發現(xian),URL中只(zhi)要包含(han)了"%2F",Apache重寫mod_rewrite就會失效。
奈福網絡科技今天給大家(jia)分享(xiang)幾個解決方(fang)案:
方案一:打開Apache的"AllowEncodedSlashes"指令
aphace服務器配(pei)置文(wen)件cnforever_com.conf
<VirtualHost *:80> AllowEncodedSlashes On </VirtualHost>
或者
方案二:兩次urlencode()
$url .= urlencode(urlencode($title))
原來的URL:
//www.cnforever.com/user/signin/b=%2Fproduct%2Fdetail%2Fid%3D615
變成新的URL:
//www.cnforever.com/user/signin/b=%252Fproduct%252Fdetail%252Fid%253D615
或者
方案三:使用js處理
js中兩次encodeURIComponent(encodeURIComponent(backUrl))
或者
js中替換%2F為%252F
$(function(){ $(".pp_tab a").each(function(){ var href=$(this).attr("href"); if(href.indexOf("%2F")>0){ $(this).attr("href", href.replace(/%2F/g, "%252F")); } }) });
以(yi)上三個方案,您可(ke)以(yi)選擇一個最(zui)方便、最(zui)適(shi)合自己的方案去操作。