2017-06-17 218 views
0

我知道我應該把這個代碼,以使HTML5歷史回退:把nginx配置文件放在哪裏?

location/{ 
    try_files $uri $uri/ /index.html; 
} 

https://router.vuejs.org/en/essentials/history-mode.html

但哪個文件?嘗試搜索谷歌,沒有任何工作,把上面的代碼放在/etc/nginx/nginx.conf將使nginx無法正常工作。

即時通訊使用vagrant家園laravel。

請大家幫忙。

+0

您是否指定了您面臨的確切錯誤? – Ganesh

+0

是的,該配置應該在/ etc/nginx/nginx.conf.' – Ganesh

+0

我把該代碼放在/etc/nginx/nginx.conf中,並且當我'sudo服務nginx restart'時,錯誤是'Job for nginx .service失敗,因爲控制進程退出並顯示錯誤代碼。有關詳細信息,請參閱「systemctl status nginx.service」和「journalctl -xe」。 – tonywei

回答

0

最後,我得到的nginx使用html5後備。

打開/etc/nginx/site-available/homestead.app或您的homestead.yaml文件中指定的任何域。

PUT /替換 「位置」 與

location/{ 
     try_files $uri $uri/ /index.php; 
    } 

然後保存部分,和開放laravel web.php(路由器)。把這個代碼:

Route::get('/{vue?}/{vue2?}/{vue3?}', function() { 
// return view('welcome'); 
    if (! request()->ajax()) { 
     return view('index'); 
    } 
}); 

上面的代碼防止laravel到返回錯誤404現在VUE HTML5歷史後備工作沒有#號。

感謝大家試圖幫助,沒有你們我可能沒有任何想法來解決這個問題。

0

也就是說對於nginx.conf文件中的條目,位於

/etc/nginx/nginx.conf 

一下添加到配置:

location/{ 
    try_files $uri /index.html; 
} 
+0

這裏是錯誤,當我把我提到的代碼在/etc/nginx/nginx.conf> 2017/06/17 01:24:59 [emerg] 1340#1340:「位置」指令不允許在這裏/etc/nginx/nginx.conf:87> 2017/06/17 01:27:33 [emerg] 1369#1369:「location」指令不是允許在/etc/nginx/nginx.conf:87> 2017/06/17 01:44:16 [emerg] 2851#2851:「位置」指令在/ etc/nginx/nginx中是不允許的。conf:66 – tonywei

+0

我相信'http {}'節裏面運行宅基地 – btl

+0

終於沒有錯誤,但是html5的歷史回退仍然不起作用 – tonywei

0

認沽配置/etc/nginx/nginx.conf

server { 
    location/{ 
     try_files $uri $uri/ /index.html; 
    } 
} 
+0

試過了,這裏是錯誤信息:> 2017/06/17 01:55:02 [emerg] 3408#3408:「服務器」指令在這裏是不允許的/etc/nginx/nginx.conf:65 > 2017/06/17 01:55:06 [emerg] 3420#3420:在/etc/nginx/nginx.conf中不允許使用「server」指令:65 – tonywei

+0

只要確保'server {}'低於'events { ''在http {}之上''。 – Ganesh