Когда я запускаю основной URL в браузере, требуется mainURL/assets
, Но когда я положил mainURL/en
или же mainURL/bn
работает нормально. Без выбора «/ lang» приложение показывает ошибку 403.
403 Запрещено
nginx / 1.4.6 (Ubuntu)
Config / app.php
'locale' => 'en',
'locales' => ['en', 'bn','hi','zh','ja'],
'fallback_locale' => 'en',
Вспомогательный метод:
public static function switchLang($lang = 'bn')
{
$fullUrl = request()->url();
$segments = request()->segments();
$partSegment = implode('/', $segments);
$domain = str_replace('/'.$partSegment, '', $fullUrl);
$availableLang = config('app.locales');
if(in_array($lang, $availableLang)) {
$segments[0] = '/'.$lang;
$newPartSegment = implode('/', $segments);
return $domain.$newPartSegment;
}
return $fullUrl;
}
Посмотреть:
<ul class="dropdown-menu">
<li><a href="{{ Helpers::switchLang() }}"> বাংলা </a></li>
<li><a href="{{ Helpers::switchLang('en') }}"> English </a></li>
<li><a href="{{ Helpers::switchLang('zh') }}"> 中國 </a></li>
<li><a href="{{ Helpers::switchLang('hi') }}"> हिंदी </a></li>
<li><a href="{{ Helpers::switchLang('ja') }}"> 日本語 </a></li>
</ul>
Задача ещё не решена.
Других решений пока нет …