最近接到一些站長(cháng)朋友咨詢,使用(yòng)POSCMS制作的(de)網站開啓僞靜态後,分(fēn)享網站的(de)資訊、産品等詳情頁鏈接到微信的(de)時(shí)候,發現鏈接無法打開,提示無法找到該頁404錯誤。
經檢測,是僞靜态規則開啓URL重寫造成的(de),首先我來(lái)對(duì)比下(xià)分(fēn)享前後的(de)URL:(以下(xià)爲示例)
分(fēn)享後:show-11-singlemessageC2A0.html
因爲微信分(fēn)享後的(de)URL會強制加一個(gè)字符串,分(fēn)享後的(de)URL打開是無法打開頁面404,我們試著(zhe)把分(fēn)享後的(de)網頁鏈接中的(de) ? 改成 # 能正常訪問鏈接。這(zhè)樣一對(duì)比問題就能确定爲是僞靜态規則問題。解決辦法就是修改僞靜态規則,在僞靜态規則裏面加上 (.*) 就可(kě)以了(le)。
POSCMS僞靜态網站分(fēn)享到微信鏈接打不開報404錯誤的(de)解決辦法:修改config/rewrite.php僞靜态解析規則,這(zhè)裏以詳情頁示例。
修改前: "show-([0-9]+).html" => "index.php?c=show&id=$1",//詳情頁
修改後: "show-([0-9]+).html(.*)" => "index.php?c=show&id=$1",//詳情頁
其他(tā)頁面修改僞靜态規則的(de)方法類似,在靜态網址結束後 html 後面加上(.*) 即可(kě)解決POSCMS僞靜态分(fēn)享微信頁面報錯問題。另外,如果尾部加 (.*) 不行的(de)話(huà),還(hái)可(kě)以改成:\?(.*) 。