You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel部署Apache时路由冲突:public下子路由访问遇404错误

解决方案:Laravel Apache环境下路由404问题

1. 启用Apache重写模块

执行以下命令开启mod_rewrite模块:

sudo a2enmod rewrite

重启Apache使配置生效:

sudo systemctl restart apache2

2. 配置Apache目录权限与重写规则

方式一:修改站点配置文件

编辑默认站点配置文件(路径通常为/etc/apache2/sites-available/000-default.conf),在<VirtualHost *:80>区块内添加以下配置:

<Directory /var/www/html/infoalq/public>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

保存文件后重启Apache:

sudo systemctl restart apache2

方式二:确保.htaccess文件正常工作

确认Laravel项目public目录下存在.htaccess文件(Laravel默认自带),文件内容应为:

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

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

若文件缺失,直接创建并粘贴上述内容,同时设置正确的目录权限:

sudo chown -R www-data:www-data /var/www/html/infoalq
sudo chmod -R 755 /var/www/html/infoalq

3. 验证修复效果

完成上述配置后,访问http://localhost/infoalq/public/principal即可正常加载对应路由页面。

内容的提问来源于stack exchange,提问作者Leandro Caplan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 17:55:57