Lỗi 413 Request Entity Too Large là gì?
Lỗi 413 Request Entity Too Large (hay còn gọi là 413 Payload Too Large) là một mã trạng thái HTTP thường gặp khi người dùng tải lên một tệp có dung lượng vượt quá giới hạn cho phép trên máy chủ.
Hiểu đơn giản, mỗi khi bạn tải lên một tệp dữ liệu (ví dụ: hình ảnh, video, plugin, theme…), máy chủ sẽ kiểm tra kích thước tệp đó. Nếu dung lượng lớn hơn mức cấu hình cho phép, hệ thống sẽ từ chối xử lý và trả về thông báo lỗi 413 Request Entity Too Large.
Một số tình huống phổ biến có thể dẫn đến lỗi này gồm:
Tải lên video, hình ảnh độ phân giải cao hoặc file âm thanh có dung lượng lớn.
Cài đặt theme, plugin nặng vượt quá giới hạn upload trên server.
Gửi request API (POST/PUT) với JSON hoặc body dữ liệu quá lớn.
Upload file backup dung lượng cao từ máy tính hoặc nguồn khác vào website.
Nguyên nhân gây ra lỗi 413 Request Entity Too Large
Lỗi 413 Request Entity Too Large thường xảy ra khi bạn cố gắng tải lên một tệp có dung lượng vượt quá giới hạn cho phép trên website. Điều này giống như việc gửi một gói hàng quá nặng so với quy định, khiến hệ thống từ chối xử lý yêu cầu. Vậy nguyên nhân chính dẫn đến lỗi này là gì?
1. Giới hạn dung lượng tải lên trong PHP
Đây là lý do phổ biến nhất, đặc biệt trên các website chạy bằng WordPress hoặc các nền tảng sử dụng ngôn ngữ PHP. Để bảo vệ máy chủ khỏi tình trạng quá tải hoặc bị khai thác, PHP thiết lập các giới hạn sau:
upload_max_filesize: Quy định dung lượng tối đa của một tệp có thể tải lên. Ví dụ, nếu thiết lập là 10MB, bạn sẽ không thể upload tệp nặng 15MB.
post_max_size: Giới hạn tổng dung lượng dữ liệu trong một yêu cầu HTTP (bao gồm file tải lên và các thông tin liên quan). Giá trị này thường bằng hoặc lớn hơn upload_max_filesize.
memory_limit (có liên quan): Giới hạn bộ nhớ tối đa mà PHP có thể sử dụng để xử lý một request.
Khi dung lượng tệp hoặc tổng dữ liệu gửi đi vượt quá các thông số trên, máy chủ sẽ tự động trả về lỗi 413 Request Entity Too Large.
Dấu hiệu thường gặp:
Lỗi xuất hiện khi tải file có dung lượng lớn, trong khi file nhỏ vẫn upload thành công.
Trên WordPress, có thể gặp thông báo “file vượt quá dung lượng cho phép”. Một số trường hợp không hiện rõ mã lỗi 413 nhưng khi kiểm tra trong Network tab (DevTools) sẽ thấy Status 413.
Cách kiểm tra nhanh:
Tạo file phpinfo() để xem các thông số cấu hình thực tế (lưu ý xóa sau khi kiểm tra để tránh rủi ro bảo mật).
Đối chiếu dung lượng file cần tải với giá trị của upload_max_filesize và post_max_size.
Đảm bảo rằng post_max_size luôn ≥ upload_max_filesize để tránh xung đột.
2. Tăng giới hạn dung lượng qua file .htaccess
File .htaccess là một công cụ cấu hình mạnh mẽ trên máy chủ Apache, cho phép quản trị viên thay đổi một số thiết lập mặc định mà không cần chỉnh trực tiếp trong php.ini. Đây cũng là cách thường được sử dụng để nâng giới hạn tải lên trong PHP.
Tuy nhiên, trong một số trường hợp, khi cài đặt plugin hoặc theme mới, file .htaccess có thể bị ghi đè, làm giảm giới hạn dung lượng và dẫn đến lỗi 413 Request Entity Too Large. Điều này cũng có thể xảy ra nếu bạn tự cấu hình nhưng thiết lập chưa đủ lớn so với dung lượng file cần tải.
Dấu hiệu thường gặp:
Thay đổi trong php.ini không có tác dụng, nhưng chỉnh trong .htaccess lại khắc phục được (hoặc ngược lại).
Trên Nginx, file .htaccess không hoạt động. Vì vậy nếu website chạy Nginx mà bạn chỉ sửa .htaccess, lỗi 413 vẫn tiếp tục xuất hiện.
Cách kiểm tra và xử lý:
Xác định web server bạn đang sử dụng là Apache hay Nginx.
Nếu dùng Apache + PHP module, hãy thêm vào file
.htaccess
:php_value upload_max_filesize 64M php_value post_max_size 128M
Nếu chạy PHP-FPM hoặc Nginx proxy, bạn cần chỉnh trực tiếp trong
php.ini
, cấu hình PHP-FPM pool hoặc filenginx.conf
.
3. Cấu hình giới hạn dung lượng trên Nginx hoặc Apache
Bên cạnh thiết lập trong PHP, các web server như Nginx và Apache cũng có cơ chế giới hạn dung lượng request riêng. Đây chính là nguyên nhân phổ biến khiến nhiều quản trị viên dù đã tăng upload_max_filesize
hay post_max_size
trong PHP nhưng vẫn gặp lỗi 413 Request Entity Too Large.
Trên Nginx: tham số
client_max_body_size
quy định dung lượng tối đa của một request. Nếu file tải lên vượt quá giá trị này, Nginx sẽ lập tức từ chối và trả về lỗi 413.Trên Apache: thông số
LimitRequestBody
hoạt động tương tự, kiểm soát kích thước tối đa cho một request.
Dấu hiệu nhận biết:
File log của Nginx hoặc Apache ghi rõ thông báo request body vượt giới hạn.
Dù đã chỉnh trong PHP nhưng lỗi 413 vẫn tồn tại.
Cách kiểm tra & xử lý nhanh:
Kiểm tra error.log của Nginx hoặc Apache để xác định nguyên nhân.
Tăng giá trị
client_max_body_size
(Nginx) hoặcLimitRequestBody
(Apache).Thực hiện reload/restart server để áp dụng cấu hình mới.
4. Giới hạn dung lượng upload từ phía máy chủ hosting
Ở nhiều gói hosting, nhà cung cấp thường thiết lập giới hạn dung lượng file tải lên (hard limit) để đảm bảo tài nguyên được phân bổ đồng đều giữa các tài khoản. Điều này có nghĩa là, dù bạn đã chỉnh sửa các tệp cấu hình như php.ini
, .htaccess
hay nginx.conf
, giới hạn này vẫn không thể bị vượt qua.
Trong trường hợp gặp phải lỗi 413 Request Entity Too Large do nguyên nhân này, cách duy nhất là liên hệ bộ phận hỗ trợ hosting để được điều chỉnh thông số, hoặc nâng cấp lên gói hosting cao hơn phù hợp với nhu cầu.
Dấu hiệu thường thấy:
Đã tăng toàn bộ thông số cấu hình nhưng lỗi 413 vẫn xuất hiện ở cùng một mức dung lượng cố định.
Nhà cung cấp hosting có ghi rõ trong FAQ hoặc tài liệu kỹ thuật về giới hạn upload.
Cách kiểm tra nhanh:
Upload nhiều tệp với dung lượng khác nhau để tìm ra ngưỡng chính xác.
Vào cPanel/Plesk để xem phần PHP Selector hoặc Resource Limits.
Liên hệ trực tiếp hỗ trợ kỹ thuật để xác nhận hoặc yêu cầu nâng giới hạn.
5. Giới hạn từ theme hoặc plugin
Ngoài máy chủ, theme hoặc plugin cũng có thể là nguyên nhân gây lỗi 413 khi chúng thiết lập mức giới hạn upload riêng. Điều này thường gặp ở các plugin bảo mật, plugin tối ưu hiệu năng hoặc các form upload file, nhằm ngăn người dùng tải tệp có dung lượng quá lớn để tránh rủi ro bảo mật hoặc ảnh hưởng tốc độ website.
Dấu hiệu nhận biết:
Upload file trong Media Library thất bại, nhưng upload qua FTP vẫn bình thường.
Chỉ một số endpoint/API báo lỗi 413, trong khi endpoint khác hoạt động tốt.
Khi tạm tắt plugin hoặc đổi về theme mặc định thì lỗi biến mất.
Cách kiểm tra nhanh:
Tắt lần lượt plugin và chuyển về theme mặc định để khoanh vùng nguyên nhân.
Kiểm tra mã nguồn để phát hiện đoạn code giới hạn dung lượng (ví dụ: middleware, form validation).
Với các framework phổ biến:
Node.js/Express: kiểm tra tham số
limit
trong body-parser hoặc multer.Django: xem cấu hình
DATA_UPLOAD_MAX_MEMORY_SIZE
.Laravel: kiểm tra giới hạn trong request/validation.
Như vậy, lỗi 413 không chỉ đến từ cấu hình máy chủ mà còn có thể do theme hoặc plugin gây ra. Việc xác định đúng nguyên nhân sẽ giúp bạn xử lý nhanh chóng và tránh mất thời gian chỉnh sai hướng.
Cách khắc phục lỗi 413 Request Entity Too Large
Khi đã xác định được nguyên nhân, việc xử lý lỗi 413 Request Entity Too Large chủ yếu xoay quanh việc tăng giới hạn upload hoặc điều chỉnh cấu hình phù hợp. Dưới đây là một trong những giải pháp phổ biến và dễ thực hiện nhất:
Giải pháp 1: Tăng giới hạn upload bằng file .htaccess
Đây là phương pháp đơn giản, thường được áp dụng trong quản trị website để mở rộng giới hạn mặc định mà máy chủ áp đặt. File .htaccess
cho phép người dùng ghi đè một số thiết lập của server mà không cần chỉnh trực tiếp trong file cấu hình chính.
Các bước thực hiện:
Đăng nhập vào hosting thông qua cPanel hoặc kết nối FTP/SFTP.
Điều hướng đến thư mục gốc của website (thường là
public_html
hoặcwww
).Mở file
.htaccess
và thêm đoạn mã sau vào cuối file:php_value upload_max_filesize 256M php_value post_max_size 256M php_value memory_limit 256M php_value max_execution_time 300 php_value max_input_time 300
Lưu ý quan trọng:
Bạn có thể điều chỉnh các giá trị
256M
hoặc300
tùy theo dung lượng file cần tải. Ví dụ: tăng lên512M
nếu website thường xuyên cần xử lý file lớn.Trong trường hợp cấu hình trên không hoạt động, có thể máy chủ không cho phép ghi đè thông số PHP qua
.htaccess
. Khi đó, bạn nên chuyển sang các phương pháp khác hoặc liên hệ với bộ phận kỹ thuật của nhà cung cấp hosting để được hỗ trợ.
Giải pháp 2: Tăng giới hạn upload qua file wp-config.php
Trong trường hợp chỉnh sửa .htaccess
không mang lại hiệu quả, bạn có thể thử áp dụng cấu hình trực tiếp trong file wp-config.php – một file quan trọng trong hệ thống WordPress.
Cách thực hiện:
Truy cập vào hosting bằng cPanel hoặc thông qua FTP/SFTP.
Mở thư mục gốc của website và tìm file wp-config.php.
Thêm đoạn mã sau ngay phía trên dòng:
/* That's all, stop editing! Happy publishing. */
@ini_set( 'upload_max_filesize', '256M' ); @ini_set( 'post_max_size', '256M' ); @ini_set( 'memory_limit', '256M' );
Lưu ý: Đây là giải pháp thay thế khá linh hoạt và hoạt động tốt trên nhiều loại server. Tuy nhiên, trong một số trường hợp, phương pháp này chỉ tăng giới hạn bộ nhớ (memory_limit
) mà không ảnh hưởng trực tiếp đến dung lượng upload. Nếu vẫn gặp lỗi 413, bạn nên thử các giải pháp tiếp theo.
Giải pháp 3: Chỉnh sửa file php.ini
Đây là phương pháp mạnh mẽ và triệt để nhất để xử lý lỗi 413 Request Entity Too Large, bởi nó can thiệp trực tiếp vào file cấu hình PHP. Tuy nhiên, cách này thường chỉ khả dụng trên VPS hoặc Dedicated Server – nơi bạn có toàn quyền quản trị.
Cách thực hiện:
Xác định vị trí file php.ini trên máy chủ (đường dẫn có thể khác nhau tùy nhà cung cấp hosting).
Mở file và tìm các dòng cấu hình sau, sau đó chỉnh sửa lại giá trị:
upload_max_filesize = 256M post_max_size = 256M memory_limit = 256M max_execution_time = 300 max_input_time = 300
Lưu thay đổi và khởi động lại máy chủ web để cấu hình có hiệu lực.
Trường hợp dùng Shared Hosting:
Bạn có thể không có quyền truy cập trực tiếp vào php.ini. Khi đó, hãy thử tạo một file php.ini mới trong thư mục gốc website và thêm các dòng cấu hình trên.
Nếu vẫn không khắc phục được, giải pháp tối ưu là liên hệ bộ phận kỹ thuật của nhà cung cấp hosting để được hỗ trợ hoặc cân nhắc nâng cấp gói dịch vụ.
Giải pháp 4: Điều chỉnh cấu hình server (Nginx/Apache)
Đối với những ai quản trị trực tiếp máy chủ, việc can thiệp vào file cấu hình server là cách xử lý triệt để và hiệu quả nhất.
Trên Nginx: Mở file
nginx.conf
, sau đó thêm dòng sau vào trong khốihttp
,server
hoặclocation
:client_max_body_size 256M;
Trên Apache: Tìm và chỉnh sửa file
httpd.conf
hoặcapache2.conf
, thêm dòng sau để tăng dung lượng request được phép:LimitRequestBody 268435456
(Lưu ý: giá trị được tính bằng byte).
Sau khi chỉnh sửa, bạn cần khởi động lại server để thay đổi có hiệu lực.
Giải pháp 5: Nhờ hỗ trợ từ nhà cung cấp hosting
Trong trường hợp bạn không rành về kỹ thuật hoặc đã thử tất cả các cách trên nhưng vẫn gặp lỗi, giải pháp an toàn nhất là liên hệ trực tiếp với đội ngũ hỗ trợ hosting.
Nhà cung cấp có thể nhanh chóng giúp bạn điều chỉnh cấu hình, nâng giới hạn upload hoặc gợi ý nâng cấp gói hosting phù hợp, đảm bảo không làm ảnh hưởng đến các cài đặt khác.
Giải pháp 6: Các phương án tạm thời (chữa cháy)
Nếu bạn cần tải file gấp mà chưa thể chỉnh sửa server, có thể áp dụng một số cách xử lý ngắn hạn:
Nén file bằng zip/rar để giảm dung lượng trước khi upload.
Chia nhỏ file thành nhiều phần, đặc biệt hữu ích với media có kích thước lớn.
Dùng FTP client (như FileZilla): kết nối trực tiếp với server và tải file vào thư mục mong muốn (ví dụ:
wp-content/uploads/
). File sau khi upload có thể xuất hiện trong Media Library hoặc được gọi bằng đường dẫn trực tiếp.Đối với video dung lượng lớn: Nên upload lên các nền tảng như YouTube, Vimeo rồi nhúng link vào website thay vì tải trực tiếp lên hosting.
Như vậy, tùy vào quyền quản trị và nhu cầu thực tế, bạn có thể lựa chọn phương án tối ưu: từ tự chỉnh cấu hình server, nhờ nhà cung cấp hosting hỗ trợ, cho đến áp dụng giải pháp tạm thời để đảm bảo website hoạt động ổn định.
Phân biệt lỗi 413 với các mã lỗi HTTP khác trên website
Trong quá trình quản trị website, người dùng thường gặp nhiều mã lỗi HTTP khác nhau. Mỗi lỗi mang một ý nghĩa riêng, giúp nhận diện nhanh vấn đề để xử lý kịp thời.
Tuy nhiên, lỗi 413 Request Entity Too Large đôi khi dễ bị nhầm lẫn với những mã lỗi khác. Dưới đây là bảng so sánh chi tiết:
Mã lỗi | Tên đầy đủ | Nguyên nhân | Ý nghĩa thực tế |
---|---|---|---|
413 | Request Entity Too Large | File tải lên vượt giới hạn cho phép của server (client_max_body_size, upload_max_filesize). | Xảy ra khi cố gắng upload video, hình ảnh hoặc file dung lượng quá lớn. |
414 | URI Too Long | URL quá dài do chứa nhiều tham số truy vấn hoặc dữ liệu mã hóa. | Máy chủ từ chối xử lý vì đường dẫn URL vượt giới hạn. |
415 | Unsupported Media Type | Định dạng file hoặc dữ liệu không được hỗ trợ. | Upload file không đúng định dạng, ví dụ tải .webp vào hệ thống chỉ chấp nhận .jpg. |
431 | Request Header Fields Too Large | Header HTTP quá nặng, chứa nhiều cookie hoặc thông tin xác thực. | Máy chủ không thể xử lý vì phần header vượt mức cho phép. |
400 | Bad Request | Lỗi cú pháp hoặc dữ liệu yêu cầu không hợp lệ. | Yêu cầu không thể hiểu được, thường do URL sai hoặc dữ liệu bị hỏng. |
403 | Forbidden | Máy chủ hiểu yêu cầu nhưng từ chối truy cập. | Người dùng không có quyền, file bị hạn chế quyền truy cập, hoặc chưa đăng nhập. |
404 | Not Found | Tài nguyên không tồn tại trên server. | URL bị nhập sai, trang đã xóa hoặc đã chuyển sang địa chỉ khác. |
Qua bảng trên, bạn có thể thấy rằng:
Lỗi 413 chủ yếu liên quan đến giới hạn dung lượng file upload.
Trong khi đó, các mã lỗi như 414, 415, 431 thường liên quan đến cấu trúc URL hoặc định dạng dữ liệu.
Các lỗi 400, 403, 404 lại phổ biến hơn, thường liên quan đến yêu cầu sai, quyền hạn hoặc tài nguyên không tồn tại.
Việc phân biệt rõ các mã lỗi sẽ giúp quản trị viên nhanh chóng xác định nguyên nhân, từ đó áp dụng cách xử lý phù hợp và đảm bảo website hoạt động ổn định.
Cách phòng tránh lỗi 413 Request Entity Too Large trong tương lai
Sau khi khắc phục xong lỗi 413 Request Entity Too Large, bước quan trọng tiếp theo là phòng ngừa lỗi này tái diễn. Thay vì để đến lúc tải file mới gặp sự cố, bạn có thể chủ động tối ưu và cấu hình ngay từ đầu.
1. Cấu hình dung lượng upload hợp lý
Thiết lập giá trị upload_max_filesize
và post_max_size
trong PHP sao cho phù hợp với nhu cầu thực tế.
Website nhỏ (giới thiệu doanh nghiệp, blog cá nhân): 32MB – 64MB.
Website tin tức, TMĐT, LMS: 128MB hoặc cao hơn.
2. Dùng FTP/SFTP cho file lớn
Với các file dung lượng nặng, thay vì upload trực tiếp, hãy dùng FTP hoặc SFTP để đưa file vào thư mục wp-content/uploads/
. Sau đó, sử dụng plugin như Add From Server để thêm file vào thư viện media. Cách này bỏ qua giới hạn của PHP và an toàn hơn.
3. Tối ưu hóa file trước khi upload
Đây là cách đơn giản nhưng hiệu quả:
Hình ảnh: nén bằng TinyPNG, Smush hoặc các công cụ online.
Video: chuyển sang định dạng MP4 (chuẩn H.264/H.265) và nén bằng HandBrake.
Plugin & theme: chỉ giữ lại những thành phần cần thiết, tránh cài thừa gây nặng website.
4. Sử dụng dịch vụ lưu trữ ngoài
Đối với các file media nặng:
Video: tải lên YouTube, Vimeo, sau đó nhúng link vào website.
File download: dùng Dropbox, Amazon S3, Google Drive/Cloud Storage thay cho hosting.
Việc này giúp giảm tải cho hosting, tăng tốc độ website và tránh lỗi 413.
5. Chọn nhà cung cấp hosting uy tín
Nhiều gói hosting giá rẻ thường giới hạn tài nguyên thấp, dễ gây ra lỗi 413. Để website hoạt động ổn định, bạn nên đầu tư hosting chất lượng, có bảo mật cao, băng thông lớn và hỗ trợ kỹ thuật 24/7.
Tại VicoGroup, chúng tôi cung cấp dịch vụ hosting hiệu năng cao với cấu hình tối ưu cho Website tin tức và bán hàng. Hệ thống đảm bảo băng thông không giới hạn, dữ liệu được sao lưu định kỳ và luôn duy trì ở trạng thái an toàn nhờ bảo mật nâng cao, chống DDoS và malware hiệu quả.
Đặc biệt, đội ngũ kỹ thuật của chúng tôi luôn sẵn sàng hỗ trợ 24/7, mang đến cho khách hàng sự yên tâm tuyệt đối trong quá trình vận hành website.
Với nhiều gói hosting linh hoạt, chi phí hợp lý và hạ tầng máy chủ hiện đại, VicoGroup chính là đối tác đáng tin cậy để bạn phát triển website và kinh doanh online bền vững. Liên hệ ngay để được tư vấn gói hosting phù hợp nhất với nhu cầu của bạn!