Laravel路由错误404

时间:2017-08-08 11:09:10

标签: php laravel .htaccess routing

在我的laravel项目中,路由工作不正常。当我去/交换时,我得到错误404. Redictering效果很好。

<?php
Route::group(['middleware' => ['web']], function () {

Route::get('/', function() {
    return redirect('exchange');
});
Route::get('exchange', function() {
    return view('exchange');
});

Route::get('tos', function() {
    return view('tos');
});
Route::get('contact', function() {
    return view('contact');
});

Route::controller('admin', 'AdminController');

});

我的.htaccess文件:

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
    Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
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>

我需要做些什么才能修复我的项目?

2 个答案:

答案 0 :(得分:0)

您缺少Apache中的重要指令

AllowOverride All

在httpd.conf文件中定义它,以便服务器尊重您的.htaccess和URL重写。

  

爆炸,允许所有类型的覆盖。

<Directory "PATH_TO_PROJECT">
     AllowOverride All
</Directory>
  

使其成功的最低要求。仅允许修改文档类型和重写的覆盖。

<Directory "PATH_TO_PROJECT">
     AllowOverride FileInfo
</Directory>

答案 1 :(得分:0)

您必须添加: -

AllowOverride All 到etc / apache2 apache2.conf 文件

<Directory /usr/share>

AllowOverride All
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>

它将处理路由错误。