Laravel 9:尽管 .htaccess 和虚拟主机配置正确,但访问路由时出现 NotFoundHttpException

问题描述 投票:0回答:1

尽管我的 .htaccess 配置和虚拟主机设置似乎是正确的,但我在 Laravel 9 中遇到了 NotFoundHttpException 错误。以下是我的设置的详细信息:

.htaccess 位于公共文件夹内:

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

    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]
    Header set X-Frame-Options SAMEORIGIN
</IfModule>

虚拟主机配置:

<VirtualHost *:80>
    ServerAlias *.afterhire.local
    ServerAdmin webmaster@localhost
    DocumentRoot "/var/www/html/afterhire/public/"

    <Directory "/var/www/html/afterhire/public/">
        AllowOverride All
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

尽管有这些配置,当我尝试访问任何 Laravel 路由或其基本 url(如 127.0.0.1:8000 或 admin.afterhire.local)时,我会遇到 NotFoundHttpException。导致此错误的可能原因是什么?如何排除和解决它?

php laravel .htaccess localhost virtualhost
1个回答
0
投票

您可以使用

php artisan serve
来运行您的网站,而不是通过 Apache 等 http 服务器来运行您的网站。

如果您遇到相同的错误,那么问题将出在您的

routes/web.php
或内核、中间件等方面。

否则它会在你的 php 配置中。 检查您是否启用了所需的 php 模块,包括 URL 重写。

如果所有这些检查都通过,我最好的建议是从一个干净的 Laravel 项目开始,然后将代码复制到卡盘中,看看哪里出错了。

© www.soinside.com 2019 - 2024. All rights reserved.