2016-04-18 16 views
0

私はlaravel 4.2プロジェクトに取り組んでおり、奇妙な問題に直面しています。Laravel:エンコードされた文字を含むURLが404例外を生成する

問題

私は、URLなどを持って、URL上記 http://example.com/events/eventname/registration#get_register

は完璧に動作しますが、特殊な文字がエンコードされたときに、私は、次のURL

http://example.com/events/eventname/registration%23get_register

になってしまったし、このコード化されたURLは私にlaravelの404例外を与えます。

詳細:私はメッセージでスカイプエンコードURLのSkypeとiOSのバージョンを経由して同僚に私のプロジェクトのリンクを送信したとき

私はこの問題に気づきました。だから私の同僚がSkypeからそのリンクを開いたとき、彼は例外を得た。

更新

マイ経路コード

//Free Registration 
Route::any('events/{event_url}/registration', '[email protected]_step1'); 
+0

あなたのルートのコードを投稿してください – Rob

+0

@Rob、上記のルートコードを追加しました。 –

答えて

1

は、主な問題は、URLの中にハッシュタグがサーバーに送信されないということです。それらはブラウザによって使用されます。したがって、http://example/#hashを使用すると、サーバにはhttp://example/しか表示されません。ハッシュが%23でエンコードされると、サーバーは完全なURLを取得します。 laravelのルートに%23というURLを認識させたい場合は、それを照合して処理するか、一致させてリダイレクトする必要があります。たとえば...

​​

か...

Route::get('events/{event_url}/registration{hash?}', '[email protected]_step1'); 

あなたがパラメータかどうかをキャプチャする必要がある場合は異なります。

+0

ありがとう.... @Rob –

関連する問題