You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 5.5上级目录跳转及Auth子目录视图路由问题求助

解决Laravel 5.5路由不生效及返回上级目录的问题

首先得说,你遇到的路由不生效问题,核心原因是视图文件放错位置了!Laravel的.blade.php视图文件默认应该放在resources/views目录下,而不是app/Http/Controllers/Auth/myfolder——这个目录是用来放控制器类文件的,框架根本不会在这里找视图,所以不管你路由怎么配,都找不到对应的视图内容,自然看起来“不生效”。

一、修复路由不生效的步骤

1. 移动视图文件到正确位置

把myfile.blade.php从app/Http/Controllers/Auth/myfolder移到resources/views/auth/myfolder目录下(如果auth/myfolder不存在,手动创建这两级子目录就行)。

2. 配置正确的路由

根据你的需求,有两种常用的路由配置方式:

方式1:直接返回视图(无需控制器)

如果不需要额外业务逻辑,直接在routes/web.php里写:

Route::get('/your-custom-path', function () {
    // 用点号分隔目录层级,对应resources/views/auth/myfolder/myfile.blade.php
    return view('auth.myfolder.myfile');
});

方式2:通过控制器返回视图(更规范的做法)

如果需要在返回视图前做一些逻辑处理(比如数据查询、权限验证),先在app/Http/Controllers/Auth下创建一个控制器(比如MyFolderController.php):

<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;

class MyFolderController extends Controller
{
    public function showMyFile()
    {
        // 这里可以加业务逻辑,比如获取用户数据
        // $data = User::find(1);
        // return view('auth.myfolder.myfile', compact('data'));
        
        return view('auth.myfolder.myfile');
    }
}

然后在routes/web.php里配置路由指向这个控制器方法:

Route::get('/your-custom-path', 'Auth\MyFolderController@showMyFile');

配置完成后,访问http://你的域名/your-custom-path就能正常看到视图内容了。

二、Laravel 5.5中返回上级目录的几种场景

1. 视图中引用上级目录的资源/视图

  • 引用上级目录的视图:比如在auth/myfolder/myfile.blade.php里想引用auth目录下的login.blade.php,直接用点号表示层级:
    @include('auth.login')
    
  • 引用public目录里上级目录的静态资源:如果public下有css根目录,从子目录视图里引用它的CSS文件:
    <link rel="stylesheet" href="{{ asset('css/style.css') }}">
    
    如果是public下的子目录(比如public/auth/css)想引用根目录的CSS,用../跳转:
    <link rel="stylesheet" href="{{ asset('../css/style.css') }}">
    

2. 控制器中跳转上级路由/URL

  • 跳转已命名的上级路由:
    return redirect()->route('parent-route-name');
    
  • 直接跳转当前URL的上级目录:
    // 比如从/abc/def跳到/abc
    return redirect(url('../'));
    

3. 文件系统操作中获取上级目录路径

  • 获取项目根目录的上级路径:
    $parentRootDir = base_path('../');
    
  • 获取storage目录的上级路径:
    $parentStorageDir = storage_path('../');
    

内容的提问来源于stack exchange,提问作者Jeet Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 03:41:44