现在具体某个电视节目的地址是 tv/shows/ 后面是节目的 id 号,这是因为 shows/:id 这个路由在这个 tv 路由的里面。我们可以去掉地址里的这个 tv 前缀 … 直接使用 shows/:id ..
在这个路由路径的前面,添加一个 / .. 这就表示要使用一个绝对的路径 … 保存 .. 回到浏览器 … 先访问一下 /tv/shows/1
控制台上会显示一个警告 .. Location "/tv/shows/33" did not match any routes ,没找到跟这个地址对应的路由 … 再去掉地址里的这个 tv … 直接使用 shows/33 .. 这样会正常显示 Show 这个组件里的内容 ..
修改了地址以后,如果你的应用之前用的是 tv/shows/:id 这种地址 .. 后来又把地址改成了 shows/:id … 你可以在应用里做一下重定向 … 这样如果用户在访问 tv/shows/:id 的时候,会被重定向到 shows/:id ..
先在文件的头部,去导入一个 Redirect … 然后在这个 tv 路由里面,使用一个 Redirect .. 要重定向的地址放到 from 这个属性里 … 这里就是 shows/:id … 最前面不带 / 线的地址 … 重定向到的那个地址放到 to 这个属性里 … 重定向到 /shows/:id ..
保存 .. 回到浏览器 … 访问一下 tv/shows/33 … 回车 … 会被重定向到 shows/33 这个地址上来 …