找不到请求的URL - Laravel 5

use*_*428 5 php apache laravel

我正在尝试将一个Web应用程序(我使用Laravel 5制作)上传到DigitalOcean Droplet.但我得到404错误:

在此服务器上找不到请求的URL/public/login.

这是我的apache2.conf

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory /var/www/html/hotelguide/public> 
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)

000-default.conf

<VirtualHost *:80>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/hotelguide/public

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

这是我的文件夹结构 这是我的文件夹结构

这是php artisan route:list的输出 这是php artisan route:list的输出

更新:LARAVEL LOG

Stack trace:
#0 /var/www/html/hotelguide/vendor/symfony/console/Application.php(183): Symfony\Component\Console\Application->find('routes')
#1 /var/www/html/hotelguide/vendor/symfony/console/Application.php(117): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#2 /var/www/html/hotelguide/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(107): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#3 /var/www/html/hotelguide/artisan(36): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
#4 {main}
Run Code Online (Sandbox Code Playgroud)

更新:PHP错误日志(最后一个错误)

124.43.95.22 - - [02/Sep/2016:14:01:29 +0530] "GET /login HTTP/1.1" 500 206 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36"
Run Code Online (Sandbox Code Playgroud)

完成Alexey详细介绍的步骤后,我现在收到HTTP 500错误.

更新: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>
Run Code Online (Sandbox Code Playgroud)

更新:CSS和JS没有找到错误 在此输入图像描述

jqu*_*ios 2

基于之前的讨论:

  • 您的 APACHE_RUN_USER 和 APACHE_RUN_GROUP 是www-data
  • 您的/var/www/html/hotelguide/public文件夹所有者是root,其组是www-pub

您的文件夹的当前权限public对 Apache 不利。
因此,您必须在此目录中向 Apache 授予权限,为此,您只需键入以下命令:

chown -R www-data:www-data /var/www/html/hotelguide/
Run Code Online (Sandbox Code Playgroud)