2016-03-16 197 views
1

我想處理Laravel中的路由。我怎樣才能做到以下幾點?Laravel路由與重定向

如果用戶撥打這裏的數目(3至11):

  • /{號碼}
  • /地區/ {號碼}
  • 或/電話/ {號碼}

這些數字可能包括它們之間的短劃線,以及開頭的'1'(此撥號代碼)。

這是必要刪除破折號 然後,如果11個數字,需要在開始時刪除'1'。

我們重定向它根據數字數量從在重定向/面積/ 3至6位撥

  • ,用$ S1 =前3個 數字
  • 6至10被重定向到/電話/,$ s1 =前3位數,$ s2 =後面的3位數字
  • 10重定向in/phone /,其中$ s1 =前3位,$ s2 = 3 以下數字,$ s3 = 4以下數字

我的路由(雖然不包括短劃線):

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

中的控制器執行破折號去除,裁剪不想要的號碼,裁剪「1」,如果11位,然後重定向到/電話/,/面積/。

但是在重定向之後,routes.php再次啓動並且循環變得無限。

我該怎麼辦?也許有另一種方式?

回答