简体   繁体   中英

Laravel on Ubuntu with Apache2 not working

i tried to configure laravel for apache2.

But if I open http://localhost/ it redirect me to http://localhost/login and there is nothing to display.

If I try http://localhost/index.php/login I get the view blade to login. But how can I remove the /index.php/

The Apache vHost config

我的虚拟主机配置

And the "main" route

Route::get('/home', function() {
    return Redirect::to('login'); 
});

Route::group([], function() {
    Route::get('/', function() {
        return Redirect::to('dashboard');

    Route::get('galleries', 'GalleryController@getGalleries');
    Route::get('galleries/{GID}', 'GalleryController@getPicuteGallery');    

    Route::get('news', 'NewsController@index');
    Route::get('dashboard', 'DashboardController@index');

    Route::get('search', 'Search\SearchController@index');

    Route::get('calendar', 'CalendarController@index'); 

    Route::get('symposium', 'SymposiumController@index');

    Route::get('conference', 'ConferenceController@index');

    Route::get('publication', function() {
        return view('publication'); 
    });
});

The Auth routes are predefined by AdminLTE installer.

/**
 * Define the AdminLTETemplate routes.
 */
protected function defineRoutes()
{
    if (!$this->app->routesAreCached()) {
        $router = app('router');

        $router->group(['namespace' => $this->getAppNamespace().'Http\Controllers'], function () {
            require __DIR__.'/../Http/routes.php';
        });
    }
}

And the AdminLTE Router

<?php
/*
 * Same configuration as Laravel 5.2:
 * See https://github.com/laravel/framework/blob/5.2/src/Illuminate    /Auth/Console/stubs/make/routes.stub
 */
Route::group(['middleware' => 'web'], function () {
    Route::auth();

    Route::get('/home', 'HomeController@index');

    Route::get('/', function () {
        return view('welcome');
    });
});

---UPDATE---

I found out that the mod_rewrite wasnt enabled. Now the web site works fine.

But I need to add the 'middleware' => 'web' class

Remove ['middleware' => 'web'] from you routes.php , because since Laravel 5.2.27 this middleware applies automatically to all your routes and if you're adding it manually, it may give you broken app.

UPDATE:

You have a function which redirects you to 'dashboard' (why?) and also the function is not closed. So try to remove these lines:

Route::get('/', function() {
    return Redirect::to('dashboard');

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM