Fix lỗi “tải xuống” khi vào trang chủ, trang con trên wordpress

loi tai xuong

Trong quá trình sử dụng WordPress, nhất là khi chuyển Hosting. Chúng ta có thể gặp lỗi “tải xuống” tức là website không truy cập được, trình duyệt tải file thay vì mở website (tải xuống 1 file không có đuôi mở rộng). ví dụ như file dạng “tải xuống” “url-truy-cap”. Hôm nay, DataOnline sẽ hướng dẫn Bạn cách fix lỗi này nhé

Xin lưu ý, bài viết này hướng dẫn fix lỗi cho chủ website, chứ không phải người dùng. Nếu Bạn là người dùng website, thì hãy cảnh giác, tải xuống có thể là mã độc, lừa đảo hoặc đơn giản là website Bạn đang truy cập / file tải xuống bị lỗi.

Lỗi này có rất nhiều nguyên nhân, có nguyên nhân từ máy chủ, có nguyên nhân từ code

Trong mọi trường hợp, Bạn cần backup lại toàn bộ dữ liệu trước khi thực hiện. Phòng trường hợp có lỗi thì khôi phục lại dữ liệu và thử lại.

Lỗi trong code – Quản trị wp-admin

Phổ biến nhất là lỗi này, chủ website có thể thử để loại trừ dần nguyên nhân

1. Lỗi xung đột Plugin, cách đơn giản nhất là Disable hoặc xóa hẳn Plugin để loại trừ.

2. Cache từ Server cũ – Xóa cache

Ngay ở bước trên, sau mỗi thao tác, Bạn cần xóa cache để đảm bảo dữ liệu mới nhất được cập nhật.

 

Lỗi do tùy chọn trên ControlPanel

Đây là các tùy chọn trên control Panel như DirectAdmin, cPanel có thể gây tới xung đột code

1. không phù hợp WebServer Nginx, Litespeed

  • Nếu là Hosting, Bạn cần liên hệ nhà cung cấp để đổi webserver khác cho Bạn. Nếu Bạn thuê VPS, có thể thử cài lại Webserver khác. Tất nhiên, site khác giống như vậy vẫn chạy thì tỉ lệ lỗi này không cao

2. Không phù hợp phiên bản PHP

  • Bạn cần chọn lại phiên bản PHP – thông thường, các Hosting hiện nay đều hỗ trợ multi PHP.

3. Không phù hợp loại Cache trên Server

  • Server có nhiều cache (MemCache, Redis Cache…) – Hãy thử đổi / disable để loại trừ.

Lỗi từ máy chủ

Lỗi này bị loại trừ, nếu Bạn có 1 website tương tự đã chạy trên máy chủ. Nếu Bạn mua Hosting (không phải VPS) thì không cần check lỗi từ máy chủ

1. Máy chủ web không xử lý PHP

Nếu máy chủ không có hoặc chưa bật PHP, thay vì chạy mã PHP (như index.php, wp-login.php,…), nó sẽ trả về file thô — khiến trình duyệt tự động tải về file đó.

Cách khắc phục lỗi “tải xuống file PHP thay vì chạy”

Bước 1: Kiểm tra server đã cài PHP chưa

  • Nếu dùng cPanel hay DirectAdmin, đăng nhập và kiểm tra phần Select PHP Version hoặc PHP Configuration.

  • Nếu dùng server riêng (VPS), chạy lệnh sau (trong SSH):

bash
php -v

Nếu chưa cài PHP, bạn cần cài đúng phiên bản PHP (ví dụ PHP 7.4, 8.1,…).

Bước 2: Kiểm tra cấu hình webserver (Apache hoặc Nginx)

Nếu dùng Apache:

  • Mở file .htaccess tại thư mục gốc (nơi có wp-config.php)

  • Đảm bảo có đoạn sau:

apache
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L] </IfModule>

Nếu thiếu, hãy thêm vào.

❗ Nếu Apache chưa bật mod_php hoặc php-fpm, bạn cần bật nó (trong cPanel hoặc cấu hình thủ công).

Nếu dùng Nginx:

  • Kiểm tra file cấu hình (thường ở /etc/nginx/sites-available/)

Ví dụ cấu hình cho WordPress:

nginx
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock; # tùy phiên bản PHP
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

⚠️ Đảm bảo server có cài php-fpm tương ứng.

Sau khi sửa, nhớ chạy:

bash
sudo systemctl reload nginx

Bước 3: Kiểm tra extension PHP và handler

  • Nếu bạn đang dùng LiteSpeed, OpenLiteSpeed, hoặc FastCGI, hãy kiểm tra trong hosting panel (hoặc webadmin) để chắc rằng PHP đã được ánh xạ đúng.

  • Trong DirectAdmin, vào Domain Setup → bật PHP mode (mod_php / fastcgi / php-fpm)

Bước kiểm tra nhanh:

  1. Tạo file info.php ở thư mục gốc của website:

php
<?php phpinfo(); ?>
  1. Truy cập https://yourdomain.com/info.php

  • Nếu nó chạy và hiện ra bảng thông tin PHP → server chạy PHP đúng.

  • Nếu nó tải về file info.php → server chưa xử lý PHP → bạn cần cấu hình lại (xem bước 2).

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *