2013-02-16 158 views
0

我想路由多个网址到相同的控制器功能使用这些网址的一部分作为控制器内的方法的参数。这是基于Laravel框架的路由功能,我没有要求一般的帮助,关于htaccess /漂亮的网址等。非常特别,我想知道如何在Laravel routes.php文件中实现此目的。Laravel路由到控制器

我想航线的网址是:

domain.com/articles

domain.com/downloads

domain.com/videos

domain.com/文摘

现在我知道我可以做一些事情,如thi在我的routes.php文件:

Route::get(array('digests','articles','videos','downloads'), '[email protected]_content'); 

,这将路由这个功能在我的内容控制器:

public function action_list_content(){} 

但其实我喜欢的功能是这样的:

public function action_list_content($type){} 

而无论是在第一部分的网址(即摘要,文章,视频或下载)应作为$ type参数发送到action_list_content方法。

这可能吗?

我要指出,我宁可不使用(:任何),因为这将是非常贪婪,并接受“domain.com/anyrandomtext”

回答

3

Laravel转换成通配符正则表达式它们进一步处理之前。所以,实际上,你可以直接跳到它通过提供一个正则表达式:

Route::get('(articles|downloads|videos|digests)', '[email protected]_content'); 
+0

干杯我知道这将是一些简单的类似,但有没有在文档。这正是需要的欢呼声。 – robjbrain 2013-02-16 19:39:01

+0

不客气。 :) – 2013-02-16 19:40:37