【问题标题】:the url not working in Laravel 5.4 route该网址在 Laravel 5.4 路线中不起作用
【发布时间】:2017-11-08 06:22:51
【问题描述】:

Laravel 的新手。在我的项目中,我的基本网址是“http://localhost/laravel”。在我的网页中,我有一个欢迎页面。 当我跑步时

Route::get('/','UserController@index');

它有效。 还有

Route::get('/',function(){echo 'Succeed.';});

我可以看到成功。 当我把它改成“foo”里面时,一切都失败了。 都没有

Route::get('/foo','UserController@index');

也没有

Route::get('/foo',function(){echo 'Succeed.';});

它返回 NotFoundHttpException

我的控制器:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
class UserController extends Controller
{
    // controller version, combined with route
    public function index(){
        return view('welcome');
    }
}

我在视图中也得到了welcome.blade.php。 对这个问题有什么建议吗?

【问题讨论】:

  • 清除 laravel 缓存,然后使用php artisan cache:clear重试
  • 使用 /foo 后出现什么错误?
  • 伙计们。看来我将文件名 server.php 更改为 index.php.......当我将其更改回 server.php 时,一切运行正常。但在这种情况下,我必须去“localhost/laravel/public”。当我输入“localhost/laravel”时,我可以进入欢迎页面的任何想法?感谢大家帮助我解决这个问题!
  • 有时由于视图缓存,试试这个php artisan view:clearphp artisan config:cache 然后试试
  • 进入你的项目公共目录,将所有文件复制到公共目录之外

标签: laravel url routes


【解决方案1】:

如果您已将 index.php 和 .htaccess 从公共文件夹移动到根文件夹,那么您必须在 index.php 文件中进行更改,例如

发件人:

require __DIR__.'../bootstrap/autoload.php'; 
$app = require_once __DIR__.'../bootstrap/app.php';

收件人:

require __DIR__.'/bootstrap/autoload.php';
$app = require_once __DIR__.'/bootstrap/app.php';

对于您的 Js 和 CSS 文件,您必须在文件路径前添加“public”。像asset("public/js/app.js")、asset("public/css/app.css") 现在你的路线 /foo 可以工作了。

【讨论】:

  • 感谢您的回答!我已经解决了这个问题。而我所做的和你告诉我的一样!
猜你喜欢
  • 2017-12-13
  • 2017-07-27
  • 2017-08-09
  • 2018-03-25
  • 2014-11-21
  • 2018-12-01
  • 2017-10-02
  • 2013-05-03
相关资源
最近更新 更多