> 백엔드 개발 > PHP 튜토리얼 > 프레임워크 라우팅에 이상한 문제가 있습니다.

프레임워크 라우팅에 이상한 문제가 있습니다.

WBOY
풀어 주다: 2023-03-01 19:52:01
원래의
1179명이 탐색했습니다.

간단한 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"에는 차이가 있습니다.

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿