3

Laravel 4 Beta 5 で Web サイトを開発しており、エンコードされた URL をルーターに渡そうとしています。問題は、エンコードされた URL にパーセンテージなどが含まれているため、Laravel によってブロックされることです。URL は Javascript 関数でエンコードされますencodeURIComponent()

ルートで任意の文字を使用できるように Laravel をオーバーライドする方法はありますか?

これは私の現在のコードです:

Route::get('add/{encoded_url}', function($encoded_url)
{
    return 'The URL is: '.rawurldecode($encoded_url);
});

を追加して Laravel をオーバーライドしようとしましwhere('encoded_url', '*reg-ex*');たが、うまくいきませんでした (私は正規表現が苦手です)。

4

3 に答える 3

14

この正規表現を試してみてください。どの文字にも一致します...

Route::get('add/{encoded_url}', function($encoded_url)
{
    return 'The URL is: '.rawurldecode($encoded_url);
})->where('encoded_url', '.*');
于 2013-04-11T11:54:09.177 に答える