Home > Article > Backend Development > Strange issue with routing in frameworks - Stack Overflow
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... .
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