最近有客戶反映用百度分享等分享到QQ空間,完全正常的,但是分享網(wǎng)頁鏈接到微信朋友圈的時(shí)候,發(fā)現(xiàn)鏈接無法打開,提示無法找到該頁404錯(cuò)誤,同樣分享到QQ、微博等鏈接能正常訪問,這樣的錯(cuò)誤不應(yīng)該是百度與騰訊的問題。
仔細(xì)看了一下地址
原來錯(cuò)誤出在分享之后的網(wǎng)頁地址上,分享到QQ空間上的地址后面加了#號+數(shù)字字母,而分享到微信的是在后面加了?號+數(shù)字字母。
以下是代碼比較
分享到QQ空間:http://www.qinglibike.com/about/index.htm#0-qzone-1-1476-d020d2d2ad1440
分享給QQ好友:http://www.qinglibike.com/about/index.htm#0-sqq-1-7608-9737f6f9e09dfabfee85
分享到微信朋友圈:http://www.qinglibike.com/about/index.htm?from=timeline&isappinstalled=0
如果網(wǎng)站是使用了偽靜態(tài)的話,在后面加了?號+數(shù)字字母后就找不到,所以出錯(cuò)了。
動(dòng)態(tài)與生成后的靜態(tài)頁面分享到微信好友、微信朋友圈時(shí)可以正常訪問
但是利用httpd.ini做的偽靜態(tài)頁面分享微信好友、微信朋友圈時(shí)卻不可以訪問,提示鏈接打不開404錯(cuò)誤
偽靜態(tài)規(guī)則,在偽靜態(tài)規(guī)則里面加上 (.*) 就可以了,也就是在靜態(tài)網(wǎng)址結(jié)束后 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]