首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 8应用程序返回404未找到

问Laravel 8应用程序返回404未找到
EN

Stack Overflow用户
提问于 2021-07-16 08:01:27
回答 2查看 1.1K关注 0票数 0

我有一个在服务器上正常运行的Laravel 8应用程序。我已经将它移到了另一台服务器上,但现在在新服务器上没有找到404。我没有改变新服务器上的任何东西,所以我相信它必须是一个与服务器相关的问题。我无法诊断服务器上的问题。详细信息是关于服务器上的应用程序的一些细节:

文件权限尊重以下

代码语言:javascript
复制
chown -R apache.apache /var/www/LARAVEL_APP
chmod -R 755 /var/www/LARAVEL_APP
chmod -R 755 /var/www/LARAVEL_APP/storage

使用以下命令清除了路由和缓存:

代码语言:javascript
复制
php artisan route:clear
php artisan cache:clear
php artisan config:clear
php artisan cache:clear

LARAVEL/公共目录中的.htaccess文件:

代码语言:javascript
复制
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>
   Options +FollowSymlinks
    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]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

当导航到LARAVEL的根目录时,我可以正确地看到下面的屏幕。当我试图加载位于index.html中的LARAVEL-APP/public/index.php/admin/login时,会出现问题。

​

路由列表

执行php artisan route:list | grep admin/login时该列表可用

代码语言:javascript
复制
|        | POST                                   | admin/login                                           | generated::LTvCw5lDDMDMdfPT                        | Brackets\AdminAuth\Http\Controllers\Auth\LoginController@login                                   | web                                                              |
|        | GET|HEAD                               | admin/login                                           | brackets/admin-auth::admin/login                   | Brackets\AdminAuth\Http\Controllers\Auth\LoginController@showLoginForm

404屏幕

下面是我得到的404屏幕,它似乎是来自Laravel本身。

​

EN

回答 2

Stack Overflow用户

发布于 2021-07-16 08:25:33

在.htaccess文件中尝试这段代码

代码语言:javascript
复制
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

我希望这对你有用。

票数 1
EN

Stack Overflow用户

发布于 2021-07-16 09:09:35

似乎您还没有启用mod-rewrite,请尝试如下:

代码语言:javascript
复制
sudo a2enmod rewrite

并确保您在apache conf中这样做:

代码语言:javascript
复制
<Directory "/var/www/">
    # ...
    AllowOverride All
    Require all granted
</Directory>

还请在以下位置重新启动apache:

代码语言:javascript
复制
sudo service apache2 restart
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68405562

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档