2014-04-16 58 views
0

我正试图在laravel4中为SEO目的实现一个说话的url方案。在Laravel4中拦截漂亮的URL

我在我的routes.php文件是这样的:

Route::get('{url}', array('as' => 'prettyurl', function($url) ......... 

该工程的URL,如

mywebsite.com/this-is-my-fancy-url-about-foo 
mywebsite.com/bars 

但不会对那些如

mywebsite.com/bars/this-is-my-fancy-url-about-foo 

看起来laravel在根据/之前将URL分割成单独的路线。

我可以做类似

Route::get('{prefix}/{url?}', array('as' => 'prettyurl', function($prefix, $url) ......... 

但似乎有点做作。

任何想法?

回答

0

您可以使用正则表达式来捕捉所有内容(包括斜杠)。

Route::get('{url}', ['as' => 'prettyurl', function($url) 
{ 

})->where('url', '.*'); 
+0

谢谢,工作完美。 – RedSash