【问题标题】:The acess to another route => 404 Not found apache , laravel 5.4访问另一条路由 => 404 Not found apache , laravel 5.4
【发布时间】:2017-04-06 22:46:01
【问题描述】:

我刚刚设置了我的作曲家并安装了一个新的 laravel 5.4 项目,并为 apache 服务器设置了一个虚拟主机。

虚拟主机配置

还有主机文件:

新应用的主页laravel.app运行良好
但是当我添加一个新视图并为其设置路线时,例如:

//This is The default Home page route
Route::get('/', function () {
    return view('welcome');
});
// This is the new Route
Route::get('/hello',function(){
    return view('hello'); // I created another view with the name hello.blade.php  

});


当我尝试使用链接 laravel.app/hello 访问它时,我收到此错误:

找不到

在此服务器上找不到请求的 URL /hello。阿帕奇/2.4.18 (Ubuntu) 服务器在 laravel.app 端口 80

我要提一下我的操作系统是 Ubuntu 16.04

【问题讨论】:

  • <Directory> 在 hosts 文件中完全错误...
  • 我可以删除它因为我最近添加了它但仍然是同样的问题
  • mod_rewrite 是否已安装并处于活动状态,并且公用文件夹中存在 .htaccess 文件?
  • @Philipp 如您所见,我删除了它,但它仍然一样。
  • .htaccess 存在于公用文件夹中,但第一件事 mod_rewrite 我不明白。

标签: php apache laravel-5.4


【解决方案1】:

首先检查mod_rewrite 是否启用。使用this question's answer。

第二次在.../public中放置一个.htaccess文件,内容如下:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

查看reference

【讨论】:

  • 关于你的question's answer 我没有在apache2.conf 文件中找到#LoadModule rewrite_module modules/mod_rewrite.so 行
  • 我使用sudo a2enmod rewrite 激活了mod_rewrite 现在你说的一切都完成了,但仍然是同样的问题。
  • 这个问题的重要答案主要是关于从phpinfo()输出检查mod_rewrite的存在。但是,您是否重新启动了 Apache?
  • mod_rewrite 存在于phpinfo() Loaded Modules 中。
  • .htaccess 呢?
猜你喜欢
  • 2017-09-28
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 2015-01-07
  • 1970-01-01
  • 1970-01-01
  • 2020-09-13
  • 1970-01-01
相关资源
最近更新 更多