案例一解決辦法:
手機網(wǎng)站在通過UC瀏覽器等分享到到微信鏈接打不開,發(fā)現(xiàn)問題在與偽靜態(tài)一旦分享到微信如下:
也就是 絕對路徑+?from=singlemessage&isappinstalled=1(這個純靜態(tài)頁面分享生成的鏈接,是可以打開的)
如果是偽靜態(tài)就是絕對路徑+&from=singlemessage&isappinstalled=1 鏈接就會打不開,也就是from前面如果是?就可以訪問,如果是& ,就訪問不了。
嘗試觪決方法,在偽靜態(tài)規(guī)則后面加上(.*)就可以了。
例如偽靜態(tài)規(guī)則變動如下:
RewriteRule /([0-9]+)\.html(.*) /Contents\.php\?w=$1 [I]
案例二解決辦法:
經(jīng)反復檢測,排除了分享代碼的問題,和服務器配置問題。開始懷疑偽靜態(tài)規(guī)則,開啟URL重寫造成的,我關(guān)掉了偽靜態(tài),讓網(wǎng)頁形成動態(tài)鏈接, 微信朋友圈分享正常顯示,無報錯。最后發(fā)現(xiàn)問題所在了,我們來對比下分享的網(wǎng)址:
分享到QQ空間:
http://www.nanbaike.com/article/16000515.html#0-qzone-1-1476-d020d2d2ad1440
分享給QQ好友:
http://www.nanbaike.com/article/16000515.html#0-sqq-1-7608-9737f6f9e09dfabfee85
分享到微信朋友圈:
http://www.xxx.com/article/16000515.html?from=timeline&isappinstalled=0
這樣一對比問題就明顯了,偽靜態(tài)規(guī)則問題,前面能正常訪問的地址后面都是#開始加其他代碼的,微信是“ ? ”開始加其他代碼的,試著把“ ? ”改成“ # ”能正常訪問鏈接。
知道問題所在就好辦了,修改偽靜態(tài)規(guī)則,在偽靜態(tài)規(guī)則里面加上 (.*) 就可以了,也就是在靜態(tài)網(wǎng)址結(jié)束后 html 后面加上(.*) 即可,即需要分享的頁面規(guī)則的.html后面加(.*),或者干脆就整站的偽靜態(tài)規(guī)則的.html后面都加。
例如規(guī)則變動如下:
PHP版本
RewriteRule ^article/(.+).html(.*) article.php?name=$1 [L]
RewriteRule ^product/(.+).html(.*) product.php?name=$1 [L]
RewriteRule /([0-9]+)\.html(.*) /Contents\.php\?w=$1 [I]
ASP版本
RewriteRule \/products.html(.*) /products.asp
RewriteRule \/products-(.*)\.html(.*) /products\.asp\?did=$1 [N,I]
RewriteRule \/products_(.*)_(.*)\.html(.*) /products\.asp\?did=$1&page=$2 [N,I]
RewriteRule \/products_page-(.*)-(.*)-(.*)\.html(.*) /products\.asp\?page=$1&did=$2&xid=$3
[N,I]
RewriteRule \/products_xq-(.*)\.html(.*) /products_xq\.asp\?id=$1 [N,I]
掃一掃 加微信咨詢