本地跑的好好的,打成jar放centos上跑就404了,各種排查,最后手動測了一下static下的資源,發現能訪問,進而又訪問了一下html,可以訪問!發現原來是轉發路徑的問題:
@RequestMapping("/login")
public ModelAndView login() {
return new ModelAndView("redirect:/common/Authorization/authorizationPage.html");
}
這里轉發路徑里有大寫 Authorization ,但是我的目錄名為 authorization ,這個在windows下沒問題,到linux下就會找不到,因為linux對大小寫嚴格校驗。
所以最終原因就是因為目錄是小寫,但是路徑寫成了大寫,windows下沒問題,linux下就找不到了,解決方法就是改成一模一樣的小寫。
所以以后這種webapp或者nginx這類的web路徑一律用小寫,轉發路徑也一律和目錄保持一致全部用小寫,就不會出現這種問題了。
