#php #laravel
#php #laravel
Вопрос:
Вот мой файл маршрутов:
Route::get('/', 'WebController@index');
Route::group(['prefix' => 'cn'], function () {
Route::get('/', 'WebController@index');
Route::group(['namespace' => 'ACL', 'prefix' => 'auth'], function () {
Route::get('login', 'AuthController@login');
Route::post('login', 'AuthController@login');
Route::get('logout', 'AuthController@logout');
});
Route::group(['middleware' => ['auth', 'token']], function () {
Route::get("/intentional", 'IntentionalOrderController@index');
Route::get("/intentional/add", 'IntentionalOrderController@create');
Route::post("/intentional/add", 'IntentionalOrderController@store');
Route::get("/intentional/selfOrder", 'IntentionalOrderController@selfOrder');
Route::post("/intentional/selfOrder", 'IntentionalOrderController@storeSelfOrder');
});
});
Route::group(['prefix' => 'en'], function () {
Route::get('/', 'WebController@index');
Route::group(['namespace' => 'ACL', 'prefix' => 'auth'], function () {
Route::get('login', 'AuthController@login');
Route::post('login', 'AuthController@login');
Route::get('logout', 'AuthController@logout');
});
Route::group(['middleware' => ['auth', 'token']], function () {
Route::get("/intentional", 'IntentionalOrderController@index');
Route::get("/intentional/add", 'IntentionalOrderController@create');
Route::post("/intentional/add", 'IntentionalOrderController@store');
Route::get("/intentional/selfOrder", 'IntentionalOrderController@selfOrder');
Route::post("/intentional/selfOrder", 'IntentionalOrderController@storeSelfOrder');
});
});
Проблема в том:
Когда я ввожу URL /en или / cn, браузер выдает слишком много перенаправлений; но когда я ввожу / en / auth / login или любой другой URL, он будет работать просто отлично.
Хотя я могу исправить это, переименовав /cn в / cn / index, но все же я не понимаю, почему это не работает.
PS: 1. Моя версия laravel 5.1 2. Среда отладки — wamp 3. Браузер — chrome
Обновить:
вот мой WebController и BaseController
<?php namespace AppHttpControllers;
class WebController extends BaseController
{
public function index()
{
return view(config('app.locale') . ".web.index", ["title" => trans('common.smart_fabric'), "active" => "0"]);
}
}
<?php namespace AppHttpControllers;
use IlluminateSupportFacadesApp;
use IlluminateSupportFacadesRequest;
class BaseController extends Controller
{
public function __construct()
{
$locale = Request::segment(1);
if ($locale) {
switch ($locale) {
case 'cn':
App::setLocale('cn');
break;
case 'en':
App::setLocale('en');
break;
default:
App::setLocale('cn');
}
}
}
Комментарии:
1. Можете ли вы поделиться своей
WebController@index
функцией?2. В WebController@index вы должны передавать параметр locale или что-то в этом роде
3. Выше мой контроллер. Как вы можете видеть, я хочу отобразить другой вид в соответствии с URL.