【问题标题】:Laravel Routing returns page not foundLaravel 路由返回页面未找到
【发布时间】:2017-11-08 10:18:13
【问题描述】:

我得到了

抱歉,在 Laravel 中找不到您要查找的页面

每当我导航到 public/indexpublic/homepublic/post 但当我转到 public/ 时,我的视图就会被传递,这就是代码:

*Route::get('\home', function(){
   return view('home');
})->name('home');*

【问题讨论】:

  • 尝试将斜杠从“\”更改为“/” ...Route::get('/home', function(){...}
  • 问题出在路线上。尝试使用 Route::get('/home', function(){ echo "Hello";exit; })->name('home'); 测试路由
  • 我把它改成了“/”但还是报错
  • 你能看到我在前面评论中提到的测试路线的“你好”这个词吗?
  • 我没有看到你好

标签: laravel routing


【解决方案1】:

您的代码中没有用于公共/设置的路线,您需要以下内容:

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

【讨论】:

    【解决方案2】:

    你应该导航到/home而不是public

    公用文件夹是您的域指向的位置,您的请求将由您的.htaccess 文件处理,因此您不应在路径中使用public,除非您的应用程序逻辑要求您这样做。

    【讨论】:

      【解决方案3】:

      这是一个 htaccess 问题。你不应该去链接/公共/路由它应该只是链接/路由

      尝试将根级别 .htaccess(如果您没有创建一个)更改为:

          <IfModule mod_rewrite.c>
              <IfModule mod_negotiation.c>
                  Options -MultiViews
              </IfModule>
      
              RewriteEngine on
              RewriteCond %{REQUEST_URI} !^public
              RewriteRule ^(.*)$ public/$1 [L]
      
              # Redirect Trailing Slashes If Not A Folder...
              RewriteCond %{REQUEST_FILENAME} !-d
              RewriteCond %{REQUEST_URI} (.+)/$
              RewriteRule ^ %1 [L,R=301]
      
              # Handle Front Controller...
              RewriteCond %{REQUEST_FILENAME} !-d
              RewriteCond %{REQUEST_FILENAME} !-f
              RewriteRule ^ index.php [L]
      
              # Handle Authorization Header
              RewriteCond %{HTTP:Authorization} .
              RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
          </IfModule>
      

      【讨论】:

        猜你喜欢
        • 2022-07-18
        • 1970-01-01
        • 1970-01-01
        • 2020-04-17
        • 2017-04-29
        • 2018-06-26
        • 1970-01-01
        • 2017-06-17
        • 1970-01-01
        相关资源
        最近更新 更多