網(wǎng)站的目錄結(jié)構(gòu)如下:
www/
├─ index.html
├─blog/
│ ├─dist/
│ ├─index.html
blog下是打包好的vue+vue-router項目。
此時nginx配置如下
server {
listen 443;
server_name localhost;
ssl on;
root /var/ftp/www/;
index index.html;
#ssl配置省略
location /api/ {
proxy_pass https://localhost:3010;
}
}
直接訪問https://域名/blog/,是沒問題的,可是當刷新的時候,blog的子頁面就會404,查閱后發(fā)現(xiàn)是因為vue-router開啟了history模式,于是按照官方文檔的方法在server里添加了
try_files $uri $uri/ /index.html;
這樣雖然不會404,但是頁面全部轉(zhuǎn)到了根目錄的index.html,于是調(diào)整了nginx的配置如下:
server {
listen 443;
server_name localhost;
ssl on;
root /var/ftp/www/;
index index.html;
#ssl配置省略
location /blog/ {
root /var/ftp/www/blog/;
index index.html;
}
location /api/ {
proxy_pass https://localhost:3010;
}
}
這時候訪問https://域名/blog/ 直接就報了404錯誤,然后試著修改nginx配置如下:
server {
listen 443;
server_name localhost;
ssl on;
#ssl配置省略
location /blog/ {
root /var/ftp/www/blog/;
index index.html;
}
location /api/ {
proxy_pass https://localhost:3010;
}
location / {
root /var/ftp/www/;
index index.html;
}
}
仍然會報404錯誤,請問是哪里搞錯了,折騰了一晚上頭發(fā)都快掉光了Q A Q
感謝樓上大大的回答~問題已經(jīng)解決了~雖然不知道解決的方法是否正確,還是記錄一下,如果方法有錯誤的地方還請私信或者評論我指出 感謝!
今天在修改設置的時候突然想起來nginx是有錯誤日志的,于是趕忙下載了下來,然后發(fā)現(xiàn)了問題
[error] 27661#0: *1 open() "/var/ftp/www/blog/blog" failed (2: No such file or directory)
很顯然nginx認為我對于/blog設置的根目錄是/var/ftp/www/blog/,而我訪問http://域名/blog時,自動又加了一個/blog,導致了404錯誤,于是我把location /blog的root改成了/var/ftp/www/,此時訪問正常,然而刷新還是會回到根目錄的index.html,于是將location /blog下面的try_files改成了
try_files $uri $uri/ /blog/index.html;
這下就一切正常了,雖然問題時解決了,但是總感覺哪里怪怪的,感覺和網(wǎng)上前輩們寫的一些資料出入很大。??磥碇筮€是要多查一下資料搞清楚這個問題啊OTZ
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構(gòu),是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
北大課工場是北京大學校辦產(chǎn)業(yè)為響應國家深化產(chǎn)教融合/校企合作的政策,積極推進“中國制造2025”,實現(xiàn)中華民族偉大復興的升級產(chǎn)業(yè)鏈。利用北京大學優(yōu)質(zhì)教育資源及背
博為峰,中國職業(yè)人才培訓領(lǐng)域的先行者
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術(shù), 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術(shù)功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術(shù)顧問,美國Dachieve 系統(tǒng)架構(gòu)師,美國AngelEngineers Inc. 系統(tǒng)架構(gòu)師。