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