2013-02-16 156 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