我的Laravel路线不适用于CentOS

时间:2019-02-04 05:25:35

标签: laravel centos

我刚刚在运行于apache服务器中的CentOS中制作了一个简单的laravel应用程序。问题是我总是会出错:

  

重定向到其他页面时显示“未找到”。

该如何解决?我对使用CentOS和apache服务器是完全陌生的。

注意:它在Windows和xampp上运行正常。

这是我的.htaccess文件

RewriteEngine On

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

# 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]

2 个答案:

答案 0 :(得分:0)

很可能您没有设置Apache来正确地重写您的路由并将其交给index.php文件。查看this页面底部附近的Apache部分,并确保您的重定向与该页面的布局相同。

答案 1 :(得分:0)

尝试使用index.php进行路由吗?像yourdomain.com/index.php/route-url一样,并检查其是否有效。如果您的主页有效而其他页面无效,则您的重写规则未设置。

sudo a2enmod rewrite on 

您的服务器终端,然后重新启动apache

  • 在Apache虚拟主机部分中添加
AllowOverride all

然后在您的laravel的.htaccess文件中添加以下内容:

Options +FollowSymLinks -Indexes
RewriteEngine On

RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

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