使用重定向在拉拉维尔路由


Routing in Laravel with redirects

我正在尝试处理拉拉维尔中的路由。如何执行以下操作?

如果用户在此处拨打号码(3 到 11):

  • /{数字}
  • /
  • 面积/{数字}
  • 或/电话/{号码}

数字之间可能包含破折号,以及开头的"1"(此拨号代码)。

有必要取下破折号那么如果是11个数字,则需要删除开头的"1"。

我们根据拨打的位数重定向它

  • 重定向/区域/中的 3 到 6 位数字,其中 $ s1 = 前 3 位数字
  • 6 到 10 被重定向到/phone/,其中 $ s1=前 3 位数字,$s 2= 接下来的 3 位数字
  • 10 重定向在/phone/中,$s 1=前 3 位数字,$s 2= 3下图,$s 3 = 以下 4 个数字

我的路线(不包括破折号):

Route :: get ( 'area/{phone}', 'Controller@phone') -> where ([ 'phone' => '[0-9]{3,11}']);
Route :: get ( 'phone/{phone}', 'Controller@phone') -> where ([ 'phone' => '[0-9]{3,11}']);

控制器执行破折号删除,裁剪不需要的数字,如果 11 位数字,则裁剪"1",然后重定向到/phone/、/area/。

但是在重定向之后,路由.php再次开始,循环变得无限。

我能做什么?也许还有另一种方法?

您希望将标准路由与参数一起使用,然后验证输入。如果输入不正确,则会重定向到 404 错误页面。