Php 在laravel中处理生成的URL?
我正在做一个链接缩短器作为学校项目的一部分Php 在laravel中处理生成的URL?,php,laravel,laravel-4,Php,Laravel,Laravel 4,我正在做一个链接缩短器作为学校项目的一部分 Route::get('{short_url}', array('uses' => 'UrlController@shortUrlRedirect'); 这个函数单独工作很好,但是我还有其他函数,比如 Route::post('register', array('uses' => 'HomeController@doRegister')); 每当example.com/anylink 现在使用,它由一个函数单独处理 我发现一个可行的解决
Route::get('{short_url}', array('uses' => 'UrlController@shortUrlRedirect');
这个函数单独工作很好,但是我还有其他函数,比如
Route::post('register', array('uses' => 'HomeController@doRegister'));
每当example.com/anylink
现在使用,它由一个函数单独处理
我发现一个可行的解决方案是:
Route::get('url/{short_url}', array('uses' => 'UrlController@shortUrlRedirect');
当然,使用链接缩短器的目的是尽可能少的字符
有没有什么想法可以在laravel内部解决这个问题 routes.php
文件中越早或“越高”的路由优先级越高,因此如果定义两个相同的路由或两个匹配一个模式的路由(如示例中所示),将执行第一个路由
因此,您应该更早地定义register
路由,因为它不应该被{short\u url}
覆盖
以下是说明:路线:
TL;DR:Laravel接收到一个请求,并使用请求的URI来找到一个匹配的模式,迭代路由文件,当它找到一个时,它break代码>这是循环 文件底部是否有{short\u url}
路由?当前没有,路由是否按优先级列出?