#php #laravel #laravel-4
#php #laravel #laravel-4
Вопрос:
Я новичок в Laravel. Я создал приложение на своем локальном хостинге, и оно работает должным образом, но когда я загрузил его на свой поддомен, оно не перенаправляется на панель мониторинга после аутентификации. Я прочитал решение во многих руководствах, даже в StackOverflow, но не нашел никакого решения. Я проверил свой файл журнала Laravel, но там нет журнала. Пожалуйста, проверьте приведенный ниже код моего маршрута.
Route::get('/', function(){
if(Auth::check())
return Redirect::route('dashboard');
else
return View::make('login');
});
Route::get('/404',array('before'=>'auth','as'=>'404','uses'=>'HomeController@showFourZeroFour'));
//
Route::get('dashboard',array('before'=>'auth','as'=>'dashboard','uses'=>'HomeController@showWelcome'));
UserController.php
для авторизации пользователя
public function login()
{
if (Confide::user()) {
return Redirect::to('/');
} else {
return View::make(Config::get('confide::login_form'));
}
}
/**
* Attempt to do login
*
* @return IlluminateHttpResponse
*/
public function doLogin()
{
$repo = App::make('UserRepository');
$input = Input::all();
$dt = $input['email'];
if ($dt == "") {
$err_msg = Lang::get('confide::confide.alerts.wrong_credentials');
return Redirect::action('UsersController@login')
->withInput(Input::except('password'))
->with('error', $err_msg);
}
if ($repo->login($input)) {
$deleted = User::where('email','=',$dt)->first()->deleted;
$status = User::where('email','=',$dt)->first()->status;
if ($deleted == '1' || $status == '0') {
Auth::logout();
return View::make('login')->with(array('message' => 'Account deactivated/deleted,Contact Admin!','level'=>'error'));
}
return Redirect::intended('/');
} else {
if ($repo->existsButNotConfirmed($input)) {
$err_msg = Lang::get('confide::confide.alerts.not_confirmed');
} else {
$err_msg = Lang::get('confide::confide.alerts.wrong_credentials');
}
return Redirect::action('UsersController@login')
->withInput(Input::except('password'))
->with('error', $err_msg);
}
}
и мой файл .htaccess
# Force SSL
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
# 1 Month for most static assets
<filesMatch ".(css|jpg|jpeg|png|gif|js|ico)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteRule ^(composer|contributing|artisan) - [F,L,NC]
RewriteEngine On
# Redirect Trailing Slashes...
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
Я уже заменил ключ домена в файле сеанса на .domain.com
Пожалуйста, помогите мне, я работаю над этим последние два дня. Спасибо
Комментарии:
1. Почему вы новичок в Laravel, но создаете свое новое приложение в устаревшей версии?
Ответ №1:
Вы не указали маршруты для аутентификации в своем файле routes. Маршруты аутентификации должны выглядеть следующим образом
/**
* Authentication
*/
Route::controllers([
'auth' => 'AuthAuthController',
'password' => 'AuthPasswordController',
]);