最近接到一些站長朋友咨詢,使用POSCMS制作的網(wǎng)站開啟偽靜態(tài)后,分享網(wǎng)站的資訊、產(chǎn)品等詳情頁鏈接到微信的時候,發(fā)現(xiàn)鏈接無法打開,提示無法找到該頁404錯誤。
經(jīng)檢測,是偽靜態(tài)規(guī)則開啟URL重寫造成的,首先我來對比下分享前后的URL:(以下為示例)
分享前:http://m.tjjwfy.cn/show-11.html
分享后:http://m.tjjwfy.cn/show-11.html?from=singlemessage
因為微信分享后的URL會強制加一個字符串,分享后的URL打開是無法打開頁面404,我們試著把分享后的網(wǎng)頁鏈接中的 ? 改成 # 能正常訪問鏈接。這樣一對比問題就能確定為是偽靜態(tài)規(guī)則問題。解決辦法就是修改偽靜態(tài)規(guī)則,在偽靜態(tài)規(guī)則里面加上 (.*) 就可以了。
POSCMS偽靜態(tài)網(wǎng)站分享到微信鏈接打不開報404錯誤的解決辦法:修改config/rewrite.php偽靜態(tài)解析規(guī)則,這里以詳情頁示例。
修改前: "show-([0-9]+).html" => "index.php?c=show&id=$1",//詳情頁
修改后: "show-([0-9]+).html(.*)" => "index.php?c=show&id=$1",//詳情頁
其他頁面修改偽靜態(tài)規(guī)則的方法類似,在靜態(tài)網(wǎng)址結(jié)束后 html 后面加上(.*) 即可解決POSCMS偽靜態(tài)分享微信頁面報錯問題。另外,如果尾部加 (.*) 不行的話,還可以改成:\?(.*) 。