간단한 mvc 프레임워크를 작성했습니다. 설정된 라우팅은 모듈/컨트롤러/작업만큼 간단합니다.
액세스 시 localhost:86/app/index/index가 뷰 파일을 렌더링할 수 있습니다.
여기서 문제가 발생합니다.
app/index/index와 같은 경로를 통해 페이지에 접속하고 페이지에 점프를 적습니다
클릭하시면 해당 페이지로 이동합니다
이 때 브라우저의 탐색 경로는 로컬 호스트: 86/app/index/demo/index/index가 될 수 있습니다.
그러나 때로는 정상적으로 액세스할 수 있고 로컬 호스트가 됩니다: 86/demo/index/index.html
두 가지 차이점은 href의 app/index/index 경로와 /app/index/index 경로의 차이라는 것을 알았습니다. 이 라우팅 문제를 더 잘 해결할 수 있는 방법이 있습니까?
프로젝트 소스코드는 https://github.com/zhoujiangy... .
간단한 mvc 프레임워크를 작성했습니다. 설정된 라우팅은 모듈/컨트롤러/작업만큼 간단합니다.
액세스 시 localhost:86/app/index/index가 뷰 파일을 렌더링할 수 있습니다.
여기서 문제가 발생합니다.
app/index/index와 같은 경로를 통해 페이지에 접속하고 페이지에 점프를 적습니다
클릭하시면 해당 페이지로 이동합니다
이 때 브라우저의 탐색 경로는 로컬 호스트: 86/app/index/demo/index/index가 될 수 있습니다.
그러나 때로는 정상적으로 액세스할 수 있고 로컬 호스트가 됩니다: 86/demo/index/index.html
두 가지 차이점은 href의 app/index/index 경로와 /app/index/index 경로의 차이라는 것을 알았습니다. 이 라우팅 문제를 더 잘 해결할 수 있는 방법이 있습니까?
프로젝트 소스코드는 https://github.com/zhoujiangy... .
이는 URL 경로 문제이며 라우팅과는 아무런 관련이 없습니다.
app/index/index는 상대 경로입니다
/app/index/index는 절대 경로입니다
다음과 같은 파일 시스템 경로와 유사:
현재 위치가 /a/b/c
인 경우
href="foo/bar"는 /a/b/로 이동합니다. foo/ bar
href="/foo/bar"는 /foo/bar
이는 프레임워크 라우팅이 아니라 웹 표준에 따라 결정됩니다
href = "/xxx/xxx"와 href="xxx/xxx"에는 차이가 있습니다.