Home  >  Article  >  Backend Development  >  Strange issue with routing in frameworks - Stack Overflow

Strange issue with routing in frameworks - Stack Overflow

WBOY
WBOYOriginal
2016-12-01 00:26:011103browse

Written a simple mvc framework. The set routing is as simple as module/controller/action.
When accessing, localhost:86/app/index/index can render the view file.


Here comes the problem.

Access the page through a route like app/index/index and write a jump in the page

Click to jump to the page

At this time, the browsing path in the browser may become localhost: 86/app/index/demo/index/index.
But sometimes it can be accessed normally and becomes localhost: 86/demo/index/index.

I found that the two differences are the difference between the paths app/index/index and /app/index/index in href. Is there any way to better solve this routing problem?

The project source code is at https://github.com/zhoujiangy... .

Reply content:

Written a simple mvc framework. The set routing is as simple as module/controller/action.
When accessing, localhost:86/app/index/index can render the view file.


Here comes the problem.

Access the page through a route like app/index/index and write a jump in the page

Click to jump to the page

At this time, the browsing path in the browser may become localhost: 86/app/index/demo/index/index.
But sometimes it can be accessed normally and becomes localhost: 86/demo/index/index.

I found that the two differences are the difference between the paths app/index/index and /app/index/index in href. Is there any way to better solve this routing problem?

The project source code is at https://github.com/zhoujiangy... .

This is a problem with the URL path and has nothing to do with your routing.

app/index/index is a relative path

/app/index/index is an absolute path

Similar to the file system path, such as:
If the current location is /a/b/c
then,
href="foo/bar" will jump to /a/b/foo/bar
href="/foo/ bar" will jump to /foo/bar

This is not determined by your framework routing, but by web standards

There is a difference between href = "/xxx/xxx" and href="xxx/xxx". Please try it yourself

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn