私は今日いくつかのコードに取り組んでいて、Redirect::route()
. 通常どおり base_url/route にリダイレクトする代わりに、次のように base_url を複製しました。
http://myurl.dev/http://myurl.dev/myroute
何か間違ったことをしたと思ったので、戻って問題を切り分けようとしました。最終的に、新しい vhost を使用して新しいプロジェクトを開始し、この小さなコードをapp/routes.phpに配置しました。
Route::get(
'test1',
[
'as' => 'test1',
function () {
return Redirect::route('test2');
}
]
);
Route::get(
'test2',
[
'as' => 'test2',
function () {
return 'test2hello';
}
]
);
ブラウザーでhttp://myurl.dev/test1を開くと、「test2hello」を表示するだけでなく、http://myurl.dev/http://myurl.dev/test2 が見つからなかったため、スローされ、http not found エラーが発生しました。見つかった。これは でのみ発生しRedirect::route()
、 で期待どおりに動作しRedirect::to()
ます。また、仮想ホストでのみ発生します。Redirect::route()
localhost/myurl/public/test1 にアクセスすると、期待どおりに動作します。何か案は?
アップデート:
仮想ホストのセットアップを求められました。私は Mac OSX 10.8.5 を使用しており、組み込みの Apache を使用しています。/etc/apache2/httpd.confのhttpd-vhosts.confインクルード行のコメントを外しました。/etc/apache2/extra/httpd-vhosts.confにいくつかの仮想ホストを追加しました。
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents/example_blog/public"
ServerName example_blog.local
</VirtualHost>
および/etc/hostsの対応する行:
127.0.0.1 example_blog.local
そしてApacheを再起動しました。フォルダの名前はexample_blog.local
.