最近有好友反映用百度一鍵分享,分享網頁鏈接到微信朋友圈的時候,發現鏈接無法打開,提示無法找到該頁404錯誤,同樣分享到QQ、微博等鏈接
能正常訪問,這么明顯的錯誤,百度和騰訊應該不會忽略吧。
接報后,我專門分析了一遍他公司的網站,確實是微信朋友圈無法分享網站鏈接。但是通過微信掃一掃能正常瀏覽網頁,點擊分享到朋友圈后,在
從朋友圈去訪問的時候,提示無法找到該頁,報404錯誤。
經反復檢測,排除了分享代碼的問題,和服務器配置問題。我開始懷疑偽靜態規則,開啟URL重寫造成的,我關掉了偽靜態,讓網頁形成動態鏈接,
微信朋友圈分享正常顯示,無報錯。最后發現問題所在了,我們來對比下分享的網址:
分享到QQ空間:
http://www.imaoye.com/article/20141015000515.html#0-qzone-1-1476-d020d2d2a4e8d1a374a433f596ad1440
分享給QQ好友:
http://www.imaoye.com/article/20141015000515.html#0-sqq-1-7608-9737f6f9e09dfaf5d3fd14d775bfee85
分享到微信朋友圈:
http://www.imaoye.com/article/20141015000515.html?from=timeline&isappinstalled=0
這樣一對比問題就明顯了,偽靜態規則問題,前面能正常訪問的地址后面都是#開始跟統計代碼的,微信是?開始跟進的,試着把?改成#能正常訪
問鏈接,哈哈。
知道問題所在就好辦了,修改偽靜態規則,在偽靜態規則里面加上 (.*) 就可以了,也就是 在靜態網址結束后 html 后面加上(.*) 即可。
如:
RewriteRule ^article/(.+).html(.*)$ article.php?name=$1 [L]
RewriteRule ^product/(.+).html(.*)$ product.php?name=$1 [L]
至此問題解決!