【发布时间】:2023-01-25 02:08:28
【问题描述】:
对不起我的英语不好。 我正在尝试创建一个 laravel 路由,但我无法让它工作。 我的项目名称是“portalRAG”。这是一个网络应用程序。当我访问“我的地址/PortalRAG“ 它工作得很好,但我不能让任何其他路线工作。
这是一个新的 Laravel 项目。它几乎是空的,除了创建一些 1 或 2 个视图、控制器和模型之外,我没有触及任何主要配置,并且只创建了一些 html 代码。 这是我的 web.php 文件:
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers;
use App\Http\Controllers\ragController\ragHomeController;
/*
|--------------------------------------------------------------------------
| 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('login');
});
/* NOT WORKING
Route::get('test', function () {
return view('login');
});
*/
Route::get('test','App\Http\Controllers\ragController\ragHomeController')->name('test');
我只是想访问“测试”路线。我尝试使用的控制器叫做ragHome控制器它在一个抹布控制器(基本控制器文件中的一个文件夹)。
这是 ragHomeController。
<?php
namespace App\Http\Controllers\ragController;
use App\Http\Controllers\Controller;
use App\Models\ragModel\ragHomeModel;
use Illuminate\Http\Request;
class ragHomeController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
echo("WHATEVER");
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//
}
/**
* Display the specified resource.
*
* @param \App\Models\ragModel\ragHomeModel $ragHomeModel
* @return \Illuminate\Http\Response
*/
public function show(ragHomeModel $ragHomeModel)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Models\ragModel\ragHomeModel $ragHomeModel
* @return \Illuminate\Http\Response
*/
public function edit(ragHomeModel $ragHomeModel)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Models\ragModel\ragHomeModel $ragHomeModel
* @return \Illuminate\Http\Response
*/
public function update(Request $request, ragHomeModel $ragHomeModel)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\Models\ragModel\ragHomeModel $ragHomeModel
* @return \Illuminate\Http\Response
*/
public function destroy(ragHomeModel $ragHomeModel)
{
//
}
public function __invoke()
{
}
}
我弄错了什么?我试过清除缓存,清除路由缓存,但没有任何效果。 我应该如何访问我的“测试”路线? (我已经尝试了各种方法,但仍然无法正常工作)。 “my.address/PortalRAG/测试“? “我的地址/测试“?
【问题讨论】:
-
当您尝试访问测试路由时会发生什么?
-
@aynber “404 NOT FOUND”无论如何。
-
试试
ragHomeController::class,而不是'App\Http\Controllers\ragController\ragHomeController'。当您运行php artisan r:l时,路线是否出现? -
我认为你的问题不是你如何声明路由,而是你的网络服务器配置错误。如果你的路由没有成功注册,那么你会得到一个异常,但是你得到一个
404 -
理想情况下,您的项目将拥有自己的虚拟主机,并且 url 将是
PortalRAG.local(或其他)。如果你在你的PortalRAG文件夹中并运行php artisan serve,你可以通过localhost:8000(我认为)访问该项目,你的路线通过localhost:8000/test