Laravel 5.6部署的应用程序路由产生404错误

时间:2019-02-14 14:16:48

标签: php laravel apache centos

我已将应用程序部署到apache服务器,并且工作正常,只有首页。尝试去某条路线时,我的请求日志中出现“未找到”错误,我看到GET /users 404

我的虚拟主机文件:

<VirtualHost *:80>
    SetEnv ENVPHP acc
    ServerName someurlblabla.com

    DocumentRoot "/var/www/html/projectname/public"
    <Directory "/var/www/html/projectname/public">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from All
    </Directory>    
</VirtualHost>

.htaccess文件只是默认的laravel文件,apache可以访问和读取它。

<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)

这是怎么回事:

<VirtualHost *:80>
    SetEnv ENVPHP acc
    ServerName someurlblabla.com

    DocumentRoot "/var/www/html/projectname/public"
    <Directory "/var/www/html/projectname">
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from All
    </Directory>    
</VirtualHost>

答案 1 :(得分:-1)

您可能不想听这件事,但是切换到Nginx可以解决很多这些问题,并且您的网站将运行得更快。这就是Laravel Valet使用Nginx的原因。