当前位置:Gxlcms > PHP教程 > javascript-框架中路由的奇怪问题

javascript-框架中路由的奇怪问题

时间:2021-07-01 10:21:17 帮助过:1人阅读

写了一个简单的mvc框架。设定好的路由很简单 module/controller/action 这样的规则。
访问的时候localhost:86/app/index/index就可以渲染视图文件。


问题来了。

通过app/index/index 这样的路由访问页面,在页面中写了一个跳转

点击跳转页面

这时候浏览器中浏览路径就可能会变成localhost:86/app/index/demo/index/index。
但是有时候就是可以正常访问,变成localhost:86/demo/index/index。

发现两个区别就是href中 路径app/index/index 与 /app/index/index的区别。请问有什么方法可以比较好的解决这样的路由问题么?

项目源代码在https://github.com/zhoujiangy... 。

回复内容:

写了一个简单的mvc框架。设定好的路由很简单 module/controller/action 这样的规则。
访问的时候localhost:86/app/index/index就可以渲染视图文件。


问题来了。

通过app/index/index 这样的路由访问页面,在页面中写了一个跳转

点击跳转页面

这时候浏览器中浏览路径就可能会变成localhost:86/app/index/demo/index/index。
但是有时候就是可以正常访问,变成localhost:86/demo/index/index。

发现两个区别就是href中 路径app/index/index 与 /app/index/index的区别。请问有什么方法可以比较好的解决这样的路由问题么?

项目源代码在https://github.com/zhoujiangy... 。

这个就是URL路径的问题,跟你的路由没有关系啊。

app/index/index 这种就是相对路径

/app/index/index 这种就是绝对路径

类似于文件系统路径,如:
如果当前location是 /a/b/c
那么,
href="foo/bar"就跳转到/a/b/foo/bar
href="/foo/bar"就跳转到/foo/bar

这个不是你的框架路由决定的,是web标准决定的

href = "/xxx/xxx"和 href="xxx/xxx"是有区别的 楼主自己试验体会下

人气教程排行