2017-02-07 3 views
0

私はlaravelのインストールをサブフォルダに作成しました。URL ::はlaravel 5でどのように動作するのですか?

foo.com/laravel/

foo.com/へのすべての呼び出しは、別のアプリケーションに向けられています。

例えば

foo.com/laravel/bazへのすべての呼び出しが

ルートはまだこの

Route::get('/baz', function(){...});

のように見える、それは

を作品laravelするように指示されていますブレードのこれらのルートにURL::toを使用すると、サブリンクも機能します。

URL::toは、電子メールでは動作しません

しかし、電子メールでこれを行う例:

<a href="{{URL::to('/baz')}}">bippo</a> 

結果のURLは

foo.com/baz

になく foo.com/laravel/baz

これは私の質問につながります。どうすればURL::toが機能し、どのように動作させることができますか私が欲しいのは?例えばURLを常にインストールのルートに戻します。

+0

あなたはヘルパーを作って独自の 'urlTo($ param)'とlaravel urlを使って内部リダイレクトを定義することができます。私はそれが役に立ったら例を書くことができます。 – EddyTheDove

答えて

2

詳細については、短くてもvendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.phpを確認できます.LaravelのURLジェネレータは、Requestオブジェクト(現在のWebリクエスト)に依存しています。メールの場合、Webリクエストはまったくありません。

これは、接頭辞/laravelが表示されないためです。そのコンテキストでは知られていない可能性があります。

簡単な回避策は、url()ヘルパーまたはURLファサードを使用する代わりに、config/app.phpに「url」を、接頭辞にconfig( 'app.url')を設定することです。少なくともメールでは(おそらくどこでも)。

これはLaravelの問題ではなく、Webリクエスト/ HTTPプロトコルの性質に関連しています。

+0

実際に私はlaravelには 'env( 'APP_URL')' – Toskan

0

URL :: to()は次のリンクのように動作します。あなた自身のため https://medium.com/@zwacky/laravels-url-to-vs-url-asset-fd427ed6f7ef#.ktwxwdjxz

https://cdn-images-1.medium.com/max/800/1 * xD1x7OeXU5NNGwfKWsvpcw.png

チェック。

to()関数内のルートを受け取り、それがルートファイル内の有効なルートであることを確認し、それに対して同じ機能ルートを作成します。 あなたが尋ねた質問のために、なぜあなたはそれをしたいと思うのか分かりません。あなたが達成したいことを詳述するなら、おそらく私たちは助けることができます。

関連する問題