最近有客戶反映用百度分享等分享到QQ空間,完全正常的,但是分享網(wǎng)頁鏈接到微信朋友圈的時候,發(fā)現(xiàn)鏈接無法打開,提示無法找到該頁404錯誤,同樣分享到QQ、微博等鏈接能正常訪問,這樣的錯誤不應該是百度與騰訊的問題。
仔細看了一下地址
原來錯誤出在分享之后的網(wǎng)頁地址上,分享到QQ空間上的地址后面加了#號+數(shù)字字母,而分享到微信的是在后面加了?號+數(shù)字字母。
以下是代碼比較
分享到QQ空間:http://m.qinglibike.com/about/index.htm#0-qzone-1-1476-d020d2d2ad1440
分享給QQ好友:http://m.qinglibike.com/about/index.htm#0-sqq-1-7608-9737f6f9e09dfabfee85
分享到微信朋友圈:http://m.qinglibike.com/about/index.htm?from=timeline&isappinstalled=0
如果網(wǎng)站是使用了偽靜態(tài)的話,在后面加了?號+數(shù)字字母后就找不到,所以出錯了。
動態(tài)與生成后的靜態(tài)頁面分享到微信好友、微信朋友圈時可以正常訪問
但是利用httpd.ini做的偽靜態(tài)頁面分享微信好友、微信朋友圈時卻不可以訪問,提示鏈接打不開404錯誤
偽靜態(tài)規(guī)則,在偽靜態(tài)規(guī)則里面加上 (.*) 就可以了,也就是在靜態(tài)網(wǎng)址結束后 html 后面加上(.*) 即可,即需要分享的頁面規(guī)則的.html后面加(.*),或者干脆就整站的偽靜態(tài)規(guī)則的.html后面都加。
示例如下:
PHP版本
RewriteRule ^show/(.+).html(.*) show.php?name=$1 [L]
RewriteRule /([0-9]+)\.html(.*) /show\.php\?w=$1 [I]
ASP版本
RewriteRule \/show.html(.*) /show.asp
RewriteRule \/show-(.*)\.html(.*) /show\.asp\?did=$1 [I]