Laravel错误:“抱歉,无法找到您要查找的页面”

时间:2018-04-05 13:34:59

标签: laravel laravel-5 xampp laravel-5.5 easyphp

我需要从同事那里更新网站,只需添加LDAP连接。

我使用EasyPHP devserver 17.0与php 7.1.3和MySQL 5.7.17。

我已经阅读了许多要启动的文档等,并在本地恢复该网站,因为它实际上正在工作。

一切正常,所以我开始添加登录表单等...但是当我尝试从网站测试链接时,它会返回错误“抱歉,找不到您正在寻找的页面”。所以我开始在论坛上搜索,我发现了一些关于路线等的结果,我测试过的一切都没有用。

所以,我决定使用网站上的备份,因为当我在本地恢复它时(我精确链接到其他页面,一切正常)。我再次检查链接,“抱歉,找不到您正在寻找的页面”。我决定尝试另一个开发工具并下载XAMP,完全相同的错误。我试着用Wamp,Laragon总是一样的错误。

在apache conf中启用了mod_rewrite。

我的laravel框架版本是:5.5.39

所以我的文件夹看起来像:

Laravel version 5.5.39

路线的内容> web.php:

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

// Holidays
Route::get('/holidays/create', 'HolidayController@create')->name('holidays.create');
Route::post('/holidays', 'HolidayController@store')->name('holidays.store');
Route::get('/holidays/{holiday}/delete', 'HolidayController@destroy')->name('holidays.destroy');
Route::get('/holidays/{holiday}/edit', 'HolidayController@edit')->name('holidays.edit');
Route::post('/holidays/{holiday}', 'HolidayController@update')->name('holidays.update');

// Leave types
Route::get('/types/create', 'TypeController@create')->name('types.create');
Route::post('/types', 'TypeController@store')->name('types.store');
Route::get('/types/{type}/delete', 'TypeController@destroy')->name('types.destroy');
Route::get('/types/{type}/edit', 'TypeController@edit')->name('types.edit');
Route::post('/types/{type}', 'TypeController@update')->name('types.update');

// Users
Route::resource('users', 'UserController');
Route::get('/births', 'UserController@getAllBirths')->name('births');

// Leaves
Route::get('/calendar', 'LeaveController@index')->name('calendar');
Route::post('/leaves', 'LeaveController@store')->name('leaves.store');
Route::post('/leaves/{leave}', 'LeaveController@update')->name('leaves.update');
Route::get('/leaves/{leave}/delete', 'LeaveController@delete')->name('leaves.delete');
Route::get('/leaves', 'LeaveController@getAll')->name('leaves');

Route::get('/config', 'ConfigController@index')->name('config');

// Stats
Route::get('/statistics', 'StatsController@index')->name('stats.index');

Auth::routes();

我在Httpd.conf中的virtualHost是:

<VirtualHost 127.0.0.1>
    DocumentRoot "C:/Users/sadm-m263733/Desktop/EasyPHP-Devserver-17/eds-www"
    ServerName 127.0.0.1
    <Directory "C:/Users/sadm-m263733/Desktop/EasyPHP-Devserver-17/eds-www">
        Options FollowSymLinks Indexes ExecCGI
        AllowOverride All
        Order deny,allow
        Allow from 127.0.0.1
        Deny from all
        Require all granted
    </Directory>
</VirtualHost>

我不知道我能做什么,但请问我是否需要更多信息来帮助我。

如果可以提供帮助;来自我正在尝试恢复的网站的gitLab链接:https://gitlab.com/balsigergil/btplan

进一步精确: Auth路由首先在HomeControler.php中调用两次: class HomeController扩展Controller

{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
    }

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        return view('home');
    }
}

然后在中间件RedirectIfAuthenticated.php:

use Illuminate\Support\Facades\Auth;

class RedirectIfAuthenticated
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            return redirect('/home');
        }

        return $next($request);
    }
}

您认为我需要从HomeController中删除此部分:

public function __construct()
{
    $this->middleware('auth');
}

这部分来自中间件:

if (Auth::guard($guard)->check()) {
            return redirect('/home');
        }

我删除了Routes / web.php中的身份验证路由

3 个答案:

答案 0 :(得分:1)

更改您的VirutalHost DocumentRoot,使根目录为public

DocumentRoot "C:/Users/sadm-m263733/Desktop/EasyPHP-Devserver-17/eds-www/siteBTPlan/public"

答案 1 :(得分:0)

由于您没有为您的应用程序使用身份验证,请从控制器中删除auth中间件,这样会很好。

$this->middleware('auth'); //Remove this line

答案 2 :(得分:0)

Laravel的根目录不是Laravel文件夹的根目录。您需要将文档根目录设置为Laravel public文件夹。

DocumentRoot "<your-laravel-path>/public"