我是laravel的新手,刚创建了一个项目(laravel版本5.4.34)。
使用后: 作曲家创作项目Laravel / Laravel项目
并在添加mysql数据库连接的详细信息并运行
之后php artisan make:auth
我浏览到项目的网址并获得基本的laravel主页,左上角有登录和注册链接。
当我点击注册表或登录链接时,它似乎陷入了重定向循环。如何在安装后发生这种情况 - 这会是路由问题吗?
泰勒福斯特的评论后更新
应用程序/ HTTP /控制器/认证/ LoginController.php
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
}
路由/ web.php
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
我认为这些是文件的位置。我是否需要为/ login添加路由和/自己注册?
我不确定这是否有用,虽然我一直在观看第二个初学者拉伸并按照制作新路线的说明进行操作,并且该URL也不起作用,我补充道:
Route::get('/about', function () {
return view('about');
});
到routes / web.php
创建一个显示h1标签的基本页面,并按照说明将其保存在resources / views / about.blade.php中。
这可能与auth问题相同?我不明白为什么标准安装laravel的路线根本不起作用 - 并且非常感谢想法/建议。
如果有人遇到与我开始使用Laravel时相同的问题,请添加:
<Directory "/var/www/project/public">
AllowOverride all
</Directory>
虚拟主机配置中的似乎解决了这个问题。
答案 0 :(得分:1)
在您的控制器中,应该有Auth/LoginController.php
。 protected $redirectTo
中应该有一个变量。只需将其设置为已注册的路线,看看您是否仍然遇到同样的问题。
答案 1 :(得分:0)
似乎是权限错误,请尝试在项目目录中设置正确的权限。
sudo chown -R :www-data path/to/your_project
之后,cd path/to/your_project
并运行此命令以设置存储文件夹权限:
sudo chmod -R 775 storage