diff --git a/backend/api/src/lib.rs b/backend/api/src/lib.rs index 71b9ed7..8e057e2 100644 --- a/backend/api/src/lib.rs +++ b/backend/api/src/lib.rs @@ -22,7 +22,7 @@ use std::net::{IpAddr, Ipv6Addr, SocketAddr}; use std::str::FromStr; use tower::ServiceBuilder; use tower_http::cors::{Any, CorsLayer}; -use tower_http::services::ServeDir; +use tower_http::services::{ServeDir,ServeFile}; use tower_http::trace::TraceLayer; //use itertools::Itertools; use ::entity::entities::{ @@ -273,8 +273,13 @@ pub async fn main() { get_service(ServeDir::new(images_dir)).handle_error(handle_error), ) .nest_service( - "/", - get_service(ServeDir::new(opt.static_dir)).handle_error(handle_error), + "/assets", + get_service(ServeDir::new(opt.static_dir.clone())).handle_error(handle_error), + ) + .fallback_service( + get_service(ServeFile::new( format!("{}/index.html",opt.static_dir))).handle_error( + |_| async move { (StatusCode::INTERNAL_SERVER_ERROR, "internal server error") }, + ), ) // .merge(SpaRouter::new("/assets", opt.static_dir)) .layer(auth_layer)