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

如何配置Apache的.htaccess以提升Laravel项目文件上传大小

解决Laravel项目Apache下大文件上传限制的正确.htaccess配置

你之前尝试的两种配置都存在核心问题——.htaccess文件中不能使用<Directory>指令,这个指令仅允许在Apache主配置文件(httpd.conf)或虚拟主机配置文件里设置,放在.htaccess里会直接失效,甚至触发服务器报错。

要解决Laravel项目无法上传超过5MB文件的问题,需要同时配置Apache层面的请求体限制和PHP层面的上传参数限制,以下是正确的配置方案:

1. 正确的.htaccess配置示例

基于Laravel默认的.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]

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

# Apache请求体大小限制(67108864 = 64MB,可按需调整)
LimitRequestBody 67108864

# PHP上传参数配置
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300

2. 关键参数说明

  • LimitRequestBody:控制Apache允许的单个请求体最大字节数,确保数值大于你期望的最大上传文件大小。
  • upload_max_filesize:PHP允许上传的单个文件最大大小,需和Apache的限制匹配。
  • post_max_size:PHP允许的POST请求体总大小,必须大于等于upload_max_filesize(因为POST请求可能包含多个文件或额外表单数据)。
  • max_execution_time/max_input_time:延长PHP处理上传请求的超时时间,避免大文件上传时因耗时过长被中断。

3. 特殊情况处理

如果添加php_value指令后出现服务器500错误,说明你的PHP运行模式是PHP-FPM(而非mod_php),此时无法通过.htaccess修改PHP参数,需要直接修改PHP配置文件:

  1. 找到php.ini或对应PHP-FPM池的配置文件(如www.conf)
  2. 修改以下参数:
    upload_max_filesize = 64M
    post_max_size = 64M
    max_execution_time = 300
    max_input_time = 300
    
  3. 重启PHP-FPM和Apache服务。

4. 验证配置生效

可以在Laravel项目根目录创建一个临时的phpinfo.php文件:

<?php phpinfo(); ?>

访问该文件,搜索upload_max_filesize、post_max_size(PHP模块)和LimitRequestBody(Apache模块),确认数值已更新为你设置的大小。

内容的提问来源于stack exchange,提问作者rainan gramacho

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 05:20:25