Laravel 10+Jetstream环境下Livewire路径错误404问题求助
Laravel 10 + Jetstream(Livewire) 登录/注册页面404(Livewire路径错误)解决方法
问题描述
我在WAMP环境下安装了Laravel 10,运行正常。安装Jetstream后,登录/注册页面无法访问,报404错误,排查发现是Livewire的js路径不正确导致的。数据库表已经正常创建,但在.env和livewire.php里都找不到相关路径配置项,求解决办法。
.env 配置
APP_URL= http://localhost/laravel/myProject // laravel files are here
Jetstream 安装步骤
cd myProject composer require laravel/jetstream php artisan jetstream:install livewire npm install npm run build php artisan migrate // 迁移输出如下
迁移执行输出
INFO Preparing database. Creating migration table ................................................................................. 10ms DONE INFO Running migrations. 2014_10_12_000000_create_users_table ..................................................................... 15ms DONE 2014_10_12_100000_create_password_reset_tokens_table ..................................................... 12ms DONE 2014_10_12_200000_add_two_factor_columns_to_users_table ................................................... 8ms DONE 2019_08_19_000000_create_failed_jobs_table ............................................................... 13ms DONE 2019_12_14_000001_create_personal_access_tokens_table .................................................... 20ms DONE 2023_10_30_130753_create_sessions_table .................................................................. 29ms DONE
解决方法
修正APP_URL格式
.env里的APP_URL开头有空格,会导致路径拼接错误,改成:APP_URL=http://localhost/laravel/myProject清除所有缓存
执行以下命令刷新Laravel配置、路由等缓存:php artisan config:clear php artisan cache:clear php artisan view:clear php artisan route:clear发布Livewire配置并设置资源路径
如果上面的步骤无效,先发布Livewire的配置文件:php artisan vendor:publish --tag=livewire-config打开生成的
config/livewire.php,找到asset_url项,设置为项目的URL:'asset_url' => env('APP_URL'),或者直接写死路径:
'asset_url' => 'http://localhost/laravel/myProject',检查Apache重写规则
确保WAMP的Apache已经开启mod_rewrite模块,同时项目根目录的.htaccess文件使用Laravel默认配置(如果被修改过,恢复成默认内容):<IfModule mod_rewrite.c> <IfModule mod_negotiation.c> Options -MultiViews -Indexes </IfModule> RewriteEngine On # Handle Authorization Header RewriteCond %{HTTP:Authorization} . RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] # Redirect Trailing Slashes If Not A Folder... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} (.+)/$ RewriteRule ^ %1 [L,R=301] # Send Requests To Front Controller... RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L] </IfModule>重新构建前端资源
前端资源构建路径可能有误,重新执行:npm run build
内容的提问来源于stack exchange,提问作者Brian Tracy
相关产品推荐
相关产品推荐

