diff --git a/src/router/router.rs b/src/router/router.rs index 81e380dd..766a1931 100644 --- a/src/router/router.rs +++ b/src/router/router.rs @@ -1,10 +1,6 @@ use std::sync::Arc; -use axum::{ - Router, - response::{IntoResponse, Redirect}, - routing::get, -}; +use axum::{Router, response::IntoResponse}; use conduwuit::Error; use conduwuit_service::{Services, state, state::Guard}; use http::{StatusCode, Uri}; @@ -14,8 +10,7 @@ pub(crate) fn build(services: &Arc) -> (Router, Guard) { let router = Router::::new(); let (state, guard) = state::create(services.clone()); let router = conduwuit_api::router::build(router, &services.server) - .nest("/_continuwuity/", conduwuit_web::build()) - .route("/", get(async || Redirect::permanent("/_continuwuity/"))) + .merge(conduwuit_web::build()) .fallback(not_found) .with_state(state); @@ -23,5 +18,5 @@ pub(crate) fn build(services: &Arc) -> (Router, Guard) { } async fn not_found(_uri: Uri) -> impl IntoResponse { - Error::Request(ErrorKind::Unrecognized, "Not Found".into(), StatusCode::NOT_FOUND) + Error::Request(ErrorKind::Unrecognized, "not found :(".into(), StatusCode::NOT_FOUND) } diff --git a/src/web/mod.rs b/src/web/mod.rs index 876c667d..41543bbc 100644 --- a/src/web/mod.rs +++ b/src/web/mod.rs @@ -76,11 +76,14 @@ pub fn build() -> Router { #[allow(clippy::wildcard_imports)] use pages::*; - Router::new() - .merge(index::build()) + let sub_router = Router::new() .merge(resources::build()) .merge(password_reset::build()) - .fallback(async || WebError::NotFound) + .fallback(async || WebError::NotFound); + + Router::new() + .merge(index::build()) + .nest("/_continuwuity/", sub_router) .layer(SetResponseHeaderLayer::if_not_present( header::CONTENT_SECURITY_POLICY, HeaderValue::from_static("default-src 'self'; img-src 'self' data:;"), diff --git a/src/web/pages/index.rs b/src/web/pages/index.rs index 76cad1c4..6070dac2 100644 --- a/src/web/pages/index.rs +++ b/src/web/pages/index.rs @@ -3,7 +3,11 @@ use axum::{Router, extract::State, response::IntoResponse, routing::get}; use crate::{WebError, template}; -pub(crate) fn build() -> Router { Router::new().route("/", get(index_handler)) } +pub(crate) fn build() -> Router { + Router::new() + .route("/", get(index_handler)) + .route("/_continuwuity/", get(index_handler)) +} async fn index_handler( State(services): State,