Kiến thức Hữu ích 😍

Sửa lỗi “Link đã hết hạn” trong WordPress – Hướng dẫn khắc phục nhanh


Bạn đã bao giờ hào hứng tải lên một giao diện mới hoặc một plugin hữu ích cho website WordPress của mình, chỉ để nhận lại thông báo lỗi “The link you followed has expired”? Đây là một trong những lỗi phổ biến và gây khó chịu nhất, đặc biệt với những người mới bắt đầu. Lỗi này thường xuất hiện khi bạn đang cố gắng tải lên các tệp có dung lượng lớn, khiến quá trình bị gián đoạn và không thành công. Tuy nhiên, đừng quá lo lắng, đây không phải là một lỗi nghiêm trọng và bạn hoàn toàn có thể khắc phục được. Nguyên nhân chính thường bắt nguồn từ các giới hạn được thiết lập trên máy chủ của bạn, cụ thể là giới hạn về kích thước tệp tải lên và thời gian xử lý của PHP. Trong bài viết này, AZWEB sẽ cùng bạn tìm hiểu chi tiết về nguyên nhân và hướng dẫn từng bước các giải pháp hiệu quả để sửa lỗi này, từ việc tăng giới hạn PHP đến điều chỉnh cấu hình WordPress.

Lỗi The link you followed has expired trong WordPress là gì?

Định nghĩa và biểu hiện lỗi

Lỗi “The link you followed has expired” là một thông báo mà WordPress hiển thị khi một yêu cầu không thể hoàn thành trong khoảng thời gian hoặc giới hạn tài nguyên cho phép của máy chủ. Biểu hiện rõ ràng nhất là khi bạn vào trang quản trị WordPress, chọn Giao diện > Thêm mới > Tải giao diện lên hoặc Plugin > Cài mới > Tải plugin lên, sau khi chọn tệp và nhấn “Cài đặt”, màn hình sẽ chuyển sang một trang trắng với dòng thông báo lỗi này.

Tác động của lỗi này khá trực tiếp: nó ngăn cản bạn cài đặt các giao diện, plugin mới hoặc tải lên các tệp media có dung lượng lớn. Điều này gây cản trở rất lớn đến quá trình xây dựng, phát triển và bảo trì website. Nếu không được khắc phục, bạn sẽ không thể mở rộng tính năng hay thay đổi giao diện cho trang web của mình một cách thuận tiện.

Hình minh họa

Nguyên nhân chính gây lỗi

Hiểu rõ nguyên nhân gốc rễ sẽ giúp bạn xử lý vấn đề một cách triệt để. Lỗi “The link you followed has expired” không phải do WordPress gây ra, mà là kết quả của các cài đặt cấu hình trên máy chủ hosting của bạn. Dưới đây là ba thủ phạm chính:

  • Giới hạn kích thước tệp tải lên (upload_max_filesize): Mỗi máy chủ web đều có một thiết lập giới hạn dung lượng tối đa cho mỗi tệp được tải lên. Ví dụ, nếu giới hạn này là 8MB, nhưng bạn đang cố gắng cài đặt một giao diện có dung lượng 10MB, hệ thống sẽ từ chối và hiển thị lỗi. Đây là nguyên nhân phổ biến nhất.
  • Hết thời gian thực thi của PHP (max_execution_time): Máy chủ cũng đặt ra một khoảng thời gian tối đa để một tập lệnh (script) PHP được phép chạy. Khi bạn tải lên một tệp lớn, quá trình xử lý có thể mất nhiều thời gian. Nếu thời gian này vượt quá giới hạn max_execution_time (ví dụ 30 giây), máy chủ sẽ tự động dừng tiến trình để tránh làm quá tải hệ thống, và kết quả là bạn nhận được thông báo lỗi.
  • Giới hạn kích thước dữ liệu POST (post_max_size): Thiết lập này quy định tổng kích thước dữ liệu tối đa mà máy chủ có thể nhận được trong một yêu cầu POST, bao gồm cả tệp bạn tải lên. Giá trị này phải luôn lớn hơn hoặc bằng upload_max_filesize. Nếu tệp của bạn vượt qua giới hạn này, yêu cầu cũng sẽ thất bại.

Các giới hạn này được đặt ra nhằm mục đích bảo mật và đảm bảo hiệu suất hoạt động ổn định cho máy chủ, nhưng đôi khi chúng lại quá thấp so với nhu cầu thực tế của người dùng WordPress là gì.

Hướng dẫn tăng giới hạn kích thước upload_max_filesize trong PHP

Khi đã xác định được nguyên nhân đến từ giới hạn của PHP trên máy chủ, giải pháp trực tiếp nhất là nâng các giới hạn này lên. Phương pháp hiệu quả và được khuyến nghị nhất là chỉnh sửa tệp php.ini, tệp cấu hình chính của PHP. Hầu hết các nhà cung cấp dịch vụ hosting chất lượng đều cho phép người dùng tùy chỉnh tệp này.

Sửa file php.ini để tăng upload_max_filesize

Tệp php.ini kiểm soát hầu hết các thiết lập của PHP. Bằng cách thay đổi các giá trị trong tệp này, bạn có thể trực tiếp nâng giới hạn tải lên của website.

Các bước thực hiện như sau:

  1. Đăng nhập vào tài khoản hosting của bạn: Sử dụng các công cụ quản lý tệp như cPanel File Manager, DirectAdmin File Manager hoặc một trình khách FTP (như FileZilla).
  2. Tìm tệp php.ini: Tệp này thường nằm trong thư mục gốc public_html của bạn. Nếu không tìm thấy, bạn có thể tạo một tệp mới với tên php.ini. Một số nhà cung cấp hosting có công cụ riêng để chỉnh sửa cấu hình PHP, ví dụ như “MultiPHP INI Editor” trong cPanel, giúp bạn thao tác dễ dàng hơn.
  3. Chỉnh sửa tệp: Mở tệp php.ini và thêm hoặc chỉnh sửa các dòng sau:
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300

Hình minh họa

Trong ví dụ này, chúng ta đang tăng giới hạn kích thước tệp tải lên lên 64 Megabytes. Bạn có thể thay đổi giá trị 64M thành một con số phù hợp hơn với nhu cầu của mình, ví dụ 128M hoặc 256M. Sau khi chỉnh sửa, hãy lưu tệp lại. Thay đổi sẽ có hiệu lực gần như ngay lập tức.

Tăng post_max_size và max_execution_time

Việc chỉ tăng upload_max_filesize đôi khi là chưa đủ. Hai thông số post_max_sizemax_execution_time cũng đóng vai trò quan trọng không kém và cần được điều chỉnh đồng bộ.

  • Tại sao cần tăng post_max_size?: Tham số này xác định tổng dung lượng tối đa của tất cả dữ liệu được gửi trong một yêu cầu. Giá trị của post_max_size phải luôn lớn hơn hoặc bằng upload_max_filesize. Nếu bạn đặt upload_max_filesize là 64M nhưng post_max_size chỉ là 8M, tệp của bạn vẫn sẽ không thể được tải lên. Quy tắc vàng là đặt hai giá trị này bằng nhau để đảm bảo sự đồng bộ.
  • Tại sao cần tăng max_execution_time?: Tham số này, được tính bằng giây, quy định thời gian tối đa cho một kịch bản PHP chạy. Khi tải lên các tệp lớn, máy chủ cần thời gian để xử lý. Nếu thời gian xử lý vượt quá giới hạn này, PHP sẽ dừng lại và gây ra lỗi. Tăng giá trị này lên 300 (tức 5 phút) hoặc 600 (10 phút) sẽ cho phép máy chủ có đủ thời gian để hoàn thành các tác vụ nặng như cài đặt một theme WordPress phức tạp hay một plugin lớn.

Việc điều chỉnh đồng bộ cả ba giá trị này trong tệp php.ini là cách tiếp cận toàn diện nhất để giải quyết dứt điểm lỗi “The link you followed has expired”.

Hình minh họa

Cách sửa lỗi bằng điều chỉnh cấu hình WordPress

Nếu bạn không có quyền truy cập hoặc không thể chỉnh sửa tệp php.ini trên hosting của mình, đừng lo lắng. Vẫn còn những phương pháp thay thế khác bằng cách can thiệp trực tiếp vào các tệp cấu hình của WordPress. Hai tệp quan trọng bạn có thể sử dụng là .htaccesswp-config.php. Các phương pháp này sẽ ghi đè lên cấu hình PHP mặc định của máy chủ.

Sửa file .htaccess hoặc wp-config.php

Đây là hai phương pháp phổ biến và có hiệu quả tương đương. Bạn có thể chọn một trong hai cách tùy thuộc vào cấu trúc máy chủ và sự quen thuộc của bạn.

1. Sử dụng tệp .htaccess

Tệp .htaccess là một tệp cấu hình mạnh mẽ của máy chủ web Apache. Bạn có thể thêm các chỉ thị PHP vào đây để thay đổi hành vi của máy chủ.

  • Bước 1: Đăng nhập vào hosting qua trình quản lý tệp hoặc FTP.
  • Bước 2: Tìm tệp .htaccess trong thư mục gốc của WordPress (thường là public_html). Lưu ý rằng đây là một tệp ẩn, vì vậy hãy đảm bảo bạn đã bật chế độ hiển thị các tệp ẩn.
  • Bước 3: Tạo một bản sao lưu (backup) của tệp .htaccess trước khi chỉnh sửa để phòng trường hợp xảy ra lỗi.
  • Bước 4: Mở tệp .htaccess và thêm các dòng sau vào cuối tệp:
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300

Hình minh họa

Lưu tệp lại và kiểm tra xem lỗi đã được khắc phục chưa.

2. Sử dụng tệp wp-config.php

Tệp wp-config.php chứa các thông tin cấu hình cơ sở của website WordPress. Bạn cũng có thể thêm các hằng số để thay đổi cài đặt PHP.

  • Bước 1: Tìm và mở tệp wp-config.php trong thư mục gốc của WordPress.
  • Bước 2: Thêm đoạn mã sau vào ngay phía trên dòng /* That's all, stop editing! Happy publishing. */:
@ini_set('upload_max_filesize', '64M');
@ini_set('post_max_size', '64M');
@ini_set('max_execution_time', '300');

Hình minh họa

Lưu lại các thay đổi của bạn. Phương pháp này cũng rất hiệu quả và đôi khi được ưu tiên hơn vì tệp wp-config.php ít bị ghi đè hơn so với .htaccess.

Kiểm tra lại và thử tải file/ plugin

Sau khi áp dụng một trong các phương pháp trên, bước quan trọng cuối cùng là xác nhận xem các thay đổi của bạn đã có hiệu lực hay chưa.

  • Cách kiểm tra thay đổi: Một cách nhanh chóng để kiểm tra là đăng nhập vào trang quản trị WordPress, điều hướng đến Media > Add New (Thêm media mới). Bên dưới khu vực tải tệp lên, bạn sẽ thấy dòng chữ “Maximum upload file size: X MB”. Nếu con số X đã được cập nhật thành giá trị bạn vừa thiết lập (ví dụ: 64 MB), điều đó có nghĩa là bạn đã thành công.
  • Thử lại tác vụ gây lỗi: Quay trở lại thao tác mà bạn đã gặp lỗi ban đầu. Hãy thử tải lên lại tệp giao diện, plugin, hoặc tệp media có dung lượng lớn đó. Nếu quá trình tải lên và cài đặt diễn ra suôn sẻ mà không còn xuất hiện thông báo “The link you followed has expired”, bạn đã khắc phục hoàn toàn sự cố.

Nếu lỗi vẫn còn, có thể có một cấu hình khác ở cấp độ máy chủ đang ghi đè lên thiết lập của bạn, và bạn nên xem xét các giải pháp tiếp theo.

Hình minh họa

Các vấn đề thường gặp và cách xử lý

Đôi khi, dù đã áp dụng các phương pháp phổ biến như chỉnh sửa php.ini, .htaccess hay wp-config.php, lỗi vẫn không biến mất. Điều này thường xảy ra do các yếu tố nằm ngoài tầm kiểm soát của bạn, chẳng hạn như giới hạn từ nhà cung cấp hosting hoặc xung đột từ các thành phần khác trên website.

Lỗi không sửa được do giới hạn server

Đây là tình huống khá phổ biến, đặc biệt với các gói hosting giá rẻ hoặc shared hosting. Nhà cung cấp dịch vụ có thể khóa một số cấu hình PHP để đảm bảo sự ổn định chung cho toàn bộ máy chủ.

  • Khi hosting không cho phép thay đổi file php.ini: Nếu bạn đã thử chỉnh sửa php.ini hoặc các tệp khác mà không thấy thay đổi nào có hiệu lực (ví dụ, thông số “Maximum upload file size” trong WordPress không đổi), khả năng cao là hosting của bạn không cho phép người dùng tự ý thay đổi các giá trị này. Cấu hình của máy chủ sẽ luôn được ưu tiên và ghi đè lên mọi thiết lập của bạn.
  • Giải pháp: Cách giải quyết duy nhất và hiệu quả nhất trong trường hợp này là liên hệ trực tiếp với đội ngũ hỗ trợ kỹ thuật của nhà cung cấp hosting. Hãy gửi yêu cầu hỗ trợ, mô tả rõ ràng lỗi bạn gặp phải và đề nghị họ tăng các giới hạn sau cho website của bạn:
    • upload_max_filesize
    • post_max_size
    • max_execution_time
    • max_input_time

Hầu hết các nhà cung cấp hosting uy tín như AZWEB đều sẵn lòng hỗ trợ khách hàng thực hiện các thay đổi này một cách nhanh chóng.

Hình minh họa

Lỗi do plugin hoặc theme xung đột

Một nguyên nhân khác ít được nghĩ đến nhưng vẫn có thể xảy ra là xung đột giữa các plugin hoặc giữa plugin với giao diện. Một plugin hoặc theme được mã hóa kém có thể tiêu tốn quá nhiều tài nguyên hoặc gây ra một vòng lặp vô tận, dẫn đến việc kịch bản PHP bị hết thời gian thực thi (max_execution_time) trước khi hoàn thành.

  • Cách kiểm tra: Để xác định xem đây có phải là nguyên nhân hay không, bạn có thể thực hiện quy trình gỡ lỗi WordPress tiêu chuẩn:
    1. Vô hiệu hóa tất cả plugin: Vào trang Plugins > Installed Plugins, chọn tất cả và chọn hành động Deactivate.
    2. Thử lại thao tác: Thử tải lên lại tệp tin gây lỗi. Nếu thành công, thì chắc chắn một trong các plugin là thủ phạm.
    3. Kích hoạt lại từng plugin: Kích hoạt lại từng plugin một và kiểm tra lại sau mỗi lần kích hoạt để tìm ra chính xác plugin nào gây ra xung đột.
    4. Kiểm tra theme: Nếu việc vô hiệu hóa plugin không giải quyết được vấn đề, hãy tạm thời chuyển sang một giao diện mặc định của WordPress (ví dụ: Twenty Twenty-Four). Nếu lỗi biến mất, thì vấn đề nằm ở giao diện bạn đang sử dụng.
  • Giải pháp: Một khi đã xác định được plugin hoặc theme gây lỗi, bạn nên tìm một giải pháp thay thế có chức năng tương tự hoặc liên hệ với nhà phát triển để báo cáo lỗi và tìm cách khắc phục.

Những lưu ý để tránh lỗi “The link you followed has expired” trong tương lai

Việc sửa lỗi chỉ là giải pháp tình thế. Để website của bạn hoạt động ổn định và tránh gặp lại phiền toái này, việc áp dụng các biện pháp phòng ngừa là vô cùng quan trọng. Dưới đây là những lưu ý bạn nên ghi nhớ để duy trì một môi trường WordPress lành mạnh.

  • Luôn kiểm tra giới hạn kích thước file trước khi upload: Trước khi tải lên bất kỳ giao diện, plugin hay tệp media nào, hãy hình thành thói quen kiểm tra dung lượng của nó. So sánh dung lượng này với giới hạn tải lên tối đa của website bạn (có thể xem trong Media > Add New). Nếu tệp lớn hơn giới hạn, bạn nên tìm cách tăng giới hạn trước hoặc nén tệp lại nếu có thể, thay vì cố gắng tải lên và gặp lỗi.
  • Giữ thời gian max_execution_time đủ lớn: Nếu công việc của bạn thường xuyên liên quan đến việc nhập/xuất dữ liệu lớn, cài đặt các plugin phức tạp, hoặc thực hiện các tác vụ hàng loạt, hãy đảm bảo rằng giá trị max_execution_time được đặt đủ cao (ví dụ: 300 hoặc 600 giây). Điều này cho phép máy chủ có đủ thời gian để xử lý các yêu cầu nặng mà không bị ngắt quãng giữa chừng.
  • Cập nhật WordPress, plugin và giao diện mới nhất: Việc giữ cho mọi thành phần trên website của bạn được cập nhật là một trong những nguyên tắc bảo mật và ổn định quan trọng nhất. Các bản cập nhật thường bao gồm các bản vá lỗi, cải thiện hiệu suất và tăng cường khả năng tương thích. Điều này giúp giảm thiểu nguy cơ xung đột giữa các plugin và theme, một trong những nguyên nhân tiềm ẩn gây ra lỗi timeout. Tham khảo thêm hướng dẫn Học WordPress để tối ưu quản lý và cập nhật.
  • Sử dụng plugin quản lý file upload có tính năng giới hạn hợp lý: Đối với các website có nhiều người dùng hoặc cho phép người dùng cuối tải tệp lên, hãy cân nhắc sử dụng các plugin popup WordPress hoặc quản lý file chuyên dụng. Các plugin này thường cung cấp các tùy chọn để thiết lập giới hạn kích thước, loại tệp cho từng vai trò người dùng cụ thể, giúp bạn kiểm soát tài nguyên tốt hơn và ngăn chặn việc tải lên các tệp quá lớn một cách bừa bãi.

Bằng cách chủ động áp dụng những thói quen tốt này, bạn không chỉ tránh được lỗi “The link you followed has expired” mà còn góp phần nâng cao hiệu suất và sự ổn định chung cho toàn bộ website.

Hình minh họa

Kết luận

Lỗi “The link you followed has expired” trong WordPress, dù gây khó chịu, thực chất là một vấn đề về cấu hình máy chủ chứ không phải là một lỗi nghiêm trọng của website. Nguyên nhân cốt lõi nằm ở các giới hạn PHP mặc định quá thấp, bao gồm upload_max_filesize, post_max_size, và max_execution_time, không đáp ứng được nhu cầu tải lên các tệp có dung lượng lớn.

Qua bài viết này, chúng ta đã cùng nhau tìm hiểu và thực hành các giải pháp hiệu quả nhất để khắc phục triệt để vấn đề. Bạn có thể lựa chọn phương pháp phù hợp nhất với môi trường hosting của mình, từ việc chỉnh sửa tệp php.ini cho đến can thiệp vào tệp .htaccess hoặc wp-config.php. Trong trường hợp các giới hạn này bị khóa bởi nhà cung cấp hosting, đừng ngần ngại liên hệ với đội ngũ hỗ trợ của họ để được giúp đỡ.

AZWEB khuyến khích bạn áp dụng các thay đổi này một cách cẩn thận và luôn nhớ tạo bản sao lưu (backup) cho website trước khi thực hiện bất kỳ chỉnh sửa nào. Việc chủ động kiểm tra cấu hình và áp dụng các biện pháp phòng ngừa sẽ giúp bạn duy trì một trang web hoạt động mượt mà, ổn định và tránh được những phiền toái không đáng có trong tương lai.

Nếu bạn có bất kỳ câu hỏi nào hoặc gặp khó khăn trong quá trình thực hiện, hãy để lại bình luận bên dưới. Đội ngũ của AZWEB luôn sẵn sàng hỗ trợ bạn.

Đánh giá