Php 具有重定向的Laravel中的路由

Php 具有重定向的Laravel中的路由,php,laravel,laravel-5,laravel-routing,Php,Laravel,Laravel 5,Laravel Routing,我正在尝试处理拉维尔的路由问题。我怎样才能做到以下几点 如果用户在此处拨打号码(3至11): /{数字} /面积/{numbers} 或/电话/{number} 这些号码之间可能包含一个破折号,以及开头的“1”(此拨号代码) 有必要拆下仪表板 然后如果是11个数字,则需要删除开头的“1” 我们根据所拨的位数重定向它 重定向/区域/中的3到6位,其中$s1=前3位 数字 6到10被重定向到/phone/,其中$s1=前3位,$s2=后3位 10在/phone/中重定向,$s1=前3位,$s2

我正在尝试处理拉维尔的路由问题。我怎样才能做到以下几点

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

  • /{数字}
  • /面积/{numbers}
  • 或/电话/{number}
这些号码之间可能包含一个破折号,以及开头的“1”(此拨号代码)

有必要拆下仪表板 然后如果是11个数字,则需要删除开头的“1”

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

  • 重定向/区域/中的3到6位,其中$s1=前3位 数字
  • 6到10被重定向到/phone/,其中$s1=前3位,$s2=后3位
  • 10在/phone/中重定向,$s1=前3位,$s2=前3位 下图,$s3=以下4个数字
我的路线(不包括短跑):

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

但在重定向之后,routes.php再次启动,循环变得无限

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

您需要使用,然后输入。如果输入不正确,您将重定向到404错误页面

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