0

コントローラーにルーティングしようとしていました。毎回問題なく動作しますが、URL に (&) があると動作しなくなります。ネットで検索したところ、(:all) が使えることがわかりました。それは機能しましたが、最後の URL セグメントに (&) がある場合は、URL の最後にスラッシュ (/) を付けて機能させる必要があります。

元。この2番目のルートでは正しく機能し、最初のルートでは機能しません

Route::get('abc/abc/(:any)', array('uses' => 'abc@abc'));
Route::get('abc/abc/(:all)/do', array('uses' => 'abc@do')); 

元。このルートではどれも正しく機能しません

Route::get('abc/abc/(:all)', array('uses' => 'abc@abc'));
Route::get('abc/abc/(:all)/do', array('uses' => 'abc@do'));

元。この両方のルートで正しく機能します

Route::get('abc/abc/(:all)/', array('uses' => 'abc@abc'));
Route::get('abc/abc/(:all)/do', array('uses' => 'abc@do')); 

URLセグメントで受け入れられた文字を提供できる方法を見つけたいだけです。

4

1 に答える 1

0

& は、URL のコンテキスト内の特殊文字です。パスに含めないでください。最も可能性が高いのは、リクエスト パーサーが & を見て、これが不正な形式のクエリ文字列であると判断したことです。つまり、some/path/?foo=1&bar=2

http://www.w3schools.com/tags/ref_urlencode.asp

于 2013-03-08T19:28:17.103 に答える