vue spa項(xiàng)目,history模式,https://news.otimes.com/list/... 這種帶參數(shù)的鏈接,安卓微信瀏覽器顯示404,https://news.otimes.com 不帶參數(shù)的鏈接能顯示,跳轉(zhuǎn)也是正常的,是不是安卓瀏覽器不能兼容history模式,我可以怎么改嗎?
前端配置了
{
path: '*',
name: 'notFind',
meta: {
title: '404未找到',
},
components: setLogoComponents(notFind)
},
后臺(tái)是tomcat,也配置了
<error-page>
<error-code>404</error-code>
<location>/</location>
</error-page>
火狐,谷歌,ie下都沒有404,微信開發(fā)工具雖然也有404,但還是能訪問,只有安卓微信瀏覽器,404
ps:https證書已布上,也是已備案的域名,微信js安全域名和白名單都已配置
1.chrome模擬器,能訪問,無(wú)404,
2.微信開發(fā)者工具,能訪問,有404
3.安卓手機(jī)微信瀏覽器,不能訪問,有404
感謝這位大神,寫的都很清楚了,http://blog.csdn.net/xu122723...。
問題的主要原因是,雖然tomcat已經(jīng)攔截了404,并指向了我的index頁(yè)面,但是這個(gè)404的標(biāo)記還是存在,只要遇見存在404錯(cuò)誤頁(yè)處理的平臺(tái),就gg了。就比如微信平臺(tái),他檢測(cè)到你的404,就立馬跳向公益404頁(yè)面了。
解決方法一:后臺(tái)設(shè)置攔截器,在發(fā)送任何請(qǐng)求前,后臺(tái)都做攔截,并指向index頁(yè)面。
解決方法二:用nginx進(jìn)行攔截,修改nginx.conf文件
http {
# 此處省略好多字
server {
# nginx才配使用80端口,其他服務(wù)速速離去
listen 80;
# 沒啥好解釋的
server_name localhost;
# 指定根目錄,由于我的前端項(xiàng)目是直接放在nginx下的html文件夾,所以我這樣配
root html;
# 這里其實(shí)是由if變過來(lái)的,意思是如果uri存在,那就訪問uri的資源,如果uri不存在,那就訪問該目錄下index.html文件。如果看不懂我的解釋,可以看這個(gè)https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#front-controller-pattern-web-apps
try_files $uri $uri/ /index.html;
# 這里是配你Tomcat里面的其他java項(xiàng)目,意思是當(dāng)你訪問http://ip/xxx的時(shí)候,會(huì)到這個(gè)代碼塊里面進(jìn)行對(duì)應(yīng)操作
location /xxx {
# 這些照著加就好了,無(wú)非是獲取服務(wù)器host/ip相關(guān),一定要加,否則如果你的項(xiàng)目并不是前后端分離,而是SSH/SSM帶有jsp或者模板頁(yè)面的,那就會(huì)出現(xiàn)找不到css/js等找不到一切靜態(tài)資源文件的錯(cuò)誤。為什么會(huì)報(bào)錯(cuò),因?yàn)槟憧磏etwork面板你就知道,他是去訪問http://127.0.0.1/xxx/css...而并不是訪問服務(wù)器的真實(shí)ip,所以還是乖乖加上吧!
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 去該地址去找項(xiàng)目資源
proxy_pass http://127.0.0.1:8080/xxx;
}
}
}upstream ups_ucar_wx {
#ip_hash;
#consistent_hash $remote_addr;
server 192.168.8.59:8080;
#check interval=10000 rise=2 fall=5 timeout=1000 type=http default_down=false;
#check_http_send "GET /health HTTP/1.0\r\n\r\n";
}
server {
listen 80;
server_name xxx.com;
charset utf-8;
access_log logs/xxx.access.log main;
error_log logs/xxx.error.log;
#include /etc/nginx/agent_deny.conf;
location / {
proxy_pass http://ups_ucar_wx;
# 具體做什么,不懂,不過不加會(huì)顯示400
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 匹配不到的路徑,都跳/index.html
try_files $uri $uri/ /index.html;
}
location /static/ {
root /;
proxy_pass http://ups_ucar_wx;
# 具體做什么,不懂,不過不加會(huì)顯示400
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 設(shè)置過期時(shí)間
expires 30d;
}
}
北大青鳥APTECH成立于1999年。依托北京大學(xué)優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國(guó)IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國(guó)家
達(dá)內(nèi)教育集團(tuán)成立于2002年,是一家由留學(xué)海歸創(chuàng)辦的高端職業(yè)教育培訓(xùn)機(jī)構(gòu),是中國(guó)一站式人才培養(yǎng)平臺(tái)、一站式人才輸送平臺(tái)。2014年4月3日在美國(guó)成功上市,融資1
北大課工場(chǎng)是北京大學(xué)校辦產(chǎn)業(yè)為響應(yīng)國(guó)家深化產(chǎn)教融合/校企合作的政策,積極推進(jìn)“中國(guó)制造2025”,實(shí)現(xiàn)中華民族偉大復(fù)興的升級(jí)產(chǎn)業(yè)鏈。利用北京大學(xué)優(yōu)質(zhì)教育資源及背
博為峰,中國(guó)職業(yè)人才培訓(xùn)領(lǐng)域的先行者
曾工作于聯(lián)想擔(dān)任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔(dān)任項(xiàng)目經(jīng)理從事移動(dòng)互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍(lán)懿科技有限責(zé)任公司從事總經(jīng)理職務(wù)負(fù)責(zé)iOS教學(xué)及管理工作。
浪潮集團(tuán)項(xiàng)目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺(tái)面向?qū)ο箝_發(fā)經(jīng)驗(yàn),技術(shù)功底深厚。 授課風(fēng)格 授課風(fēng)格清新自然、條理清晰、主次分明、重點(diǎn)難點(diǎn)突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫(kù),具有快速界面開發(fā)的能力,對(duì)瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁(yè)制作和網(wǎng)頁(yè)游戲開發(fā)。
具有10 年的Java 企業(yè)應(yīng)用開發(fā)經(jīng)驗(yàn)。曾經(jīng)歷任德國(guó)Software AG 技術(shù)顧問,美國(guó)Dachieve 系統(tǒng)架構(gòu)師,美國(guó)AngelEngineers Inc. 系統(tǒng)架構(gòu)師。