Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在laravel中处理生成的URL?_Php_Laravel_Laravel 4 - Fatal编程技术网

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}
路由?当前没有,路由是否按优先级列出?