2017-02-07 2 views
0

Я установил laravel в подпапку.Как работает URL :: для работы в laravel 5?

например.

foo.com/laravel/

теперь все звонки на

foo.com/ направлены в другое приложение.

Все вызовы, например

foo.com/laravel/baz направлены на Laravel

маршруты все еще выглядят как этот

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

и работает

Сближения при использовании 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)' и внутри redirect с laravel url. Я могу написать пример, если это поможет. – EddyTheDove

ответ

2

Вы можете проверить vendor/laravel/framework/src/Illuminate/Routing/UrlGenerator.php, а вкратце - генератор URL-адресов Laravel полагается на объект Request (текущий веб-запрос), а в случае электронной почты нет веб-запроса.

Вот почему вы не видите префикса /laravel - в этом контексте он не может быть известен.

Простым обходным путем является определение «url» в config/app.php и префиксных URL с помощью config ('app.url') вместо использования вспомогательного или URL-адреса url(). По крайней мере, в электронных письмах (но, возможно, везде).

В целом, это не проблема Laravel, она больше связана с характером веб-запросов/протокола 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() и проверяет, является ли он действительным маршрутом в файле маршрутов, а затем создает для него функциональный маршрут. И за вопрос, который вы задали, я не знаю, почему вы хотите это сделать? Если вы уточните, чего хотите, возможно, мы сможем помочь.

Смежные вопросы