寫了一個簡單的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"是有區別的 樓主自己試驗體會下