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

WBOY
Lepaskan: 2023-03-01 19:52:01
asal
1100 orang telah melayarinya

写了一个简单的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"是有区别的 楼主自己试验体会下

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan