Hosting
Tên miền
Cloud
Máy chủ
EmailSSLFirewall Anti DDoSTối ưu tốc độ website

Nội dung

Hướng dẫn khắc phục lỗi CORS trên website nhanh chóng

Ngày đăng:

19/11/2025

Cập nhật lần cuối:

21/11/2025

Lỗi CORS (Cross-Origin Resource Sharing) là một vấn đề kỹ thuật thường gặp khiến website không thể tải tài nguyên từ một tên miền khác, gây gián đoạn hiển thị và ảnh hưởng xấu đến trải nghiệm người dùng. Bài viết này sẽ hướng dẫn bạn các cách khắc phục lỗi CORS trên website một cách chi tiết và dễ hiểu nhất.

Tổng quan về lỗi CORS trên website

Trong quá trình phát triển và tích hợp API, lỗi CORS (Cross-Origin Resource Sharing) là một sự cố phổ biến trên các website WordPress. Tình trạng này xảy ra khi trình duyệt chủ động chặn các yêu cầu truy xuất tài nguyên do chính sách bảo mật, dẫn đến việc không thể tải dữ liệu hoặc tương tác với API từ một nguồn khác. Bài viết này sẽ đi sâu phân tích nguyên nhân, hướng dẫn cách kiểm tra, và tổng hợp các phương pháp hiệu quả để khắc phục lỗi CORS, được sắp xếp theo cấp độ từ cơ bản đến nâng cao.

Thông báo lỗi CORS điển hình trong bảng điều khiển Console của trình duyệt
Thông báo lỗi CORS điển hình trong bảng điều khiển Console của trình duyệt

5 Cách khắc phục lỗi CORS trên website

Cách 1: Kiểm tra và đồng bộ hóa URL trong WordPress

Đầu tiên, bạn cần đăng nhập vào trang quản trị (Admin) của website WordPress. Sau khi đăng nhập thành công, từ thanh menu bên trái, bạn truy cập vào mục Cài đặt và chọn Tổng quan (Settings → General).

Tại trang này, bạn hãy kiểm tra kỹ để đảm bảo rằng hai trường Địa chỉ WordPress (URL)Địa chỉ trang web (Site URL) có giá trị hoàn toàn trùng khớp với nhau. Ví dụ, cả hai trường đều phải là https://myshop.com.

Trong trường hợp chúng có sự khác biệt (chẳng hạn một địa chỉ có tiền tố “www” và địa chỉ còn lại thì không), bạn cần điều chỉnh lại cho chúng hoàn toàn đồng nhất, sau đó cuộn xuống và nhấn nút Lưu Thay đổi để áp dụng cấu hình mới.

Giao diện cài đặt URL trong trang quản trị WordPress
Giao diện cài đặt URL trong trang quản trị WordPress

Cách 2: Thêm header CORS trong file .htaccess (Apache hoặc LiteSpeed)

Nếu website của bạn đang hoạt động trên máy chủ web Apache hoặc LiteSpeed, bạn có thể giải quyết vấn đề CORS bằng cách trực tiếp cấu hình header trong tệp .htaccess. Đầu tiên, bạn cần truy cập vào thư mục gốc của website WordPress và tìm tệp có tên là .htaccess. Sau đó, bạn hãy mở tệp này ra và thêm đoạn mã dưới đây vào cuối cùng:

<IfModule mod_headers.c>
  Header set Access-Control-Allow-Origin "*"
  Header set Access-Control-Allow-Methods "GET, POST, OPTIONS, DELETE, PUT"
  Header set Access-Control-Allow-Headers "Content-Type, Authorization"
</IfModule>

Trong đoạn mã trên, dòng Header set Access-Control-Allow-Origin "*" sử dụng dấu * để cho phép tất cả các tên miền (domain) từ bên ngoài có thể truy cập vào tài nguyên trên trang của bạn. Tuy nhiên, để đảm bảo an toàn hơn, bạn chỉ nên cấp quyền cho những tên miền cụ thể mà bạn tin tưởng. Ví dụ, nếu bạn chỉ muốn cho phép https://myshop.com truy cập, bạn hãy thay thế dòng đó bằng dòng sau:

 Header set Access-Control-Allow-Origin "https://myshop.com"
Đoạn mã cấu hình CORS được thêm vào tệp .htaccess khi mở bằng trình quản lý tệp (File Manager)
Đoạn mã cấu hình CORS được thêm vào tệp .htaccess khi mở bằng trình quản lý tệp (File Manager)

Cách 3: Thêm header CORS bằng plugin (cách dễ cho người không rành kỹ thuật)

Nếu bạn không quen với việc chỉnh sửa các tệp tin hệ thống của website, sử dụng plugin là một giải pháp thay thế đơn giản và an toàn hơn rất nhiều. Bạn có thể làm theo các bước sau:

  • Đầu tiên, bạn hãy cài đặt và kích hoạt plugin có tên “Code Snippets” từ thư viện plugin của WordPress.
  • Sau khi kích hoạt thành công, bạn sẽ thấy một mục mới tên là “Code Snippets” trên thanh menu quản trị. Bạn hãy truy cập vào Code Snippets → Add New để tạo một đoạn mã mới.
  • Tại giao diện thêm snippet, bạn hãy sao chép và dán toàn bộ đoạn mã PHP dưới đây vào phần nội dung:
add_action( 'init', function() {
    header("Access-Control-Allow-Origin: *");
    header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
    header("Access-Control-Allow-Headers: Content-Type, Authorization");
});

Cuối cùng, bạn chỉ cần lưu lại snippet và kích hoạt nó. Sau đó, bạn hãy kiểm tra lại bằng trình duyệt hoặc các công cụ dành cho nhà phát triển để xác nhận rằng lỗi CORS đã được khắc phục.

Thêm header CORS bằng plugin
Thêm CORS Header cho website

Cách 4: Sửa cấu hình trong Nginx (nếu không dùng Apache)

Nếu website của bạn đang hoạt động trên một máy chủ sử dụng Nginx (thay vì Apache), bạn sẽ cần can thiệp trực tiếp vào tệp tin cấu hình để thêm các header CORS. Bạn cần có quyền truy cập vào máy chủ (thường là qua SSH) và quyền quản trị (sudo) để thực hiện các bước sau.

Đầu tiên, bạn hãy mở tệp tin cấu hình virtual host của trang web. Đường dẫn phổ biến của tệp này là /etc/nginx/sites-available/your-site.conf, trong đó your-site.conf là tên tệp tin tương ứng với tên miền của bạn (ví dụ: mydomain.com.conf).

Sau khi đã mở tệp, bạn tìm đến khối server { ... } và dán đoạn mã sau vào bên trong nó:

Add_header ‘Vary’ ‘Origin’ always;
add_header 'Access-Control-Allow-Credentials' 'true' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE'always;
add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type, X-Requested-With, Accept, Origin, Referer, User-Agent' always;
add_header 'Access-Control-Max-Age' 86400 always;

Sau khi bạn đã thêm cấu hình và lưu lại tệp tin, bước cuối cùng là ra lệnh cho Nginx tải lại cấu hình mới. Bạn hãy thực thi lệnh sau trong terminal:

sudo systemctl reload nginx

Lệnh này sẽ giúp Nginx áp dụng các thay đổi mà không làm gián đoạn hoạt động của máy chủ. Bây giờ, bạn có thể kiểm tra lại trên trình duyệt để xác nhận lỗi CORS đã được giải quyết.

file cấu hình Nginx với các dòng add_header
File cấu hình Nginx với các dòng add_header

Cách 5: Kiểm tra plugin bảo mật hoặc tường lửa

Đầu tiên, bạn cần kiểm tra các plugin bảo mật và dịch vụ tường lửa, vì chúng có thể vô tình can thiệp và xóa các header CORS cần thiết, gây ra lỗi.

Bạn hãy thử tạm thời vô hiệu hóa các plugin bảo mật phổ biến như Wordfence, Sucuri, hoặc iThemes Security rồi kiểm tra lại xem lỗi đã được khắc phục chưa. Nếu lỗi CORS biến mất, bạn hãy kích hoạt lại từng plugin một để xác định chính xác plugin nào là nguyên nhân gây ra sự cố.

Nếu bạn đang sử dụng Cloudflare, hãy đăng nhập vào tài khoản và truy cập mục Rules → Transform Rules, sau đó chọn tab Modify Response Header. Tại đây, bạn cần đảm bảo không có bất kỳ quy tắc nào đang thực hiện hành động xóa (Remove) header Access-Control-Allow-Origin khỏi phản hồi của trang web.

Kiểm tra kết quả sau khi khắc phục

Sau khi đã thực hiện các thay đổi, bạn cần tải lại trang web và xóa bộ nhớ đệm (cache) của trình duyệt để đảm bảo các cài đặt mới nhất được áp dụng.

  • Bạn có thể thực hiện thao tác này nhanh chóng bằng cách nhấn tổ hợp phím Ctrl + F5 (trên Windows) hoặc Cmd + Shift + R (trên macOS).
  • Tiếp theo, bạn hãy mở công cụ Chrome DevTools (nhấn phím F12), chuyển sang tab Console và kiểm tra.
  • Nếu bạn không còn thấy bất kỳ cảnh báo lỗi màu đỏ nào có nội dung “blocked by CORS policy, điều đó có nghĩa là sự cố đã được khắc phục thành công.

Lỗi CORS là một sự cố phổ biến trên các website WordPress, phát sinh khi trang web thực hiện các yêu cầu tài nguyên (như API, phông chữ, hoặc tệp tin) từ một tên miền khác.

Phương pháp khắc phục hiệu quả là định cấu hình các header CORS hợp lệ trên máy chủ, có thể thực hiện thông qua tệp .htaccess, sử dụng plugin chuyên dụng, hoặc điều chỉnh trực tiếp trong cấu hình của web server.

Khi đã được cấu hình chính xác, trình duyệt sẽ cho phép các yêu cầu cross-domain được thực thi thành công, giúp các tính năng phụ thuộc vào tài nguyên bên ngoài hoạt động ổn định và đúng như mong đợi.

Trên đây là những hướng dẫn chi tiết để khắc phục lỗi CORS trên website một cách nhanh chóng. Nếu bạn có bất kỳ thắc mắc nào hoặc cần hỗ trợ thêm trong quá trình xử lý lỗi, hãy liên hệ trực tiếp với đội ngũ kỹ thuật của Vietnix qua các kênh hỗ trợ để được hướng dẫn chuyên sâu và kịp thời.

VIETNIX – DỊCH VỤ HOSTING, VPS TỐC ĐỘ CAO, ỔN ĐỊNH, BẢO MẬT

  • Địa chỉ: 265 Hồng Lạc, Phường Bảy Hiền, Thành Phố Hồ Chí Minh
  • Điện thoại: 1800 1093
  • Email liên hệ: sales@vietnix.com.vn
  • Website: https://vietnix.vn/

VIETNIX

Đội ngũ tại Vietnix

Kết nối với mình qua

Vietnix thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, Vietnix đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.

Kết nối với mình qua

NHỮNG CÂU HỎI THƯỜNG GẶP VỀ DỊCH VỤ TẠI VIETNIX

Để có thể gửi ticket yêu cầu hỗ trợ đến các phòng ban của Vietnix, trước hết bạn cần đăng nhập vào hệ thống portal tại đường link: https://portal.vietnix.vn/.
Sau đó vào phần Hỗ trợ > Chọn Gửi yêu cầu > Lựa chọn phòng ban mà bạn muốn gửi yêu cầu > Nhập nội dung cần hỗ trợ và nhấn Gửi.

Chúng tôi sẽ tiếp nhận và phản hồi ngay khi nhận được yêu cầu từ Quý Khách Hàng. Bạn có thể xem hướng dẫn chi tiết cách gửi ticket tại đây.
Nếu bạn còn vấn đề gì thắc mắc, hãy liên hệ đến hotline 1800 1093 để được hỗ trợ giải đáp nhanh chóng.

Vietnix có riêng đội ngũ tư vấn và hỗ trợ kỹ thuật chuyên nghiệp giúp khách hàng giải quyết được các vấn đề phát sinh một cách nhanh gọn nhất, không làm ảnh hưởng đến hiệu suất công việc. Đội ngũ nhân viên của chúng tôi với kinh nghiệm và trình độ chuyên môn cao sẵn sàng hỗ trợ khách hàng 24/7, mang đến cho khách hàng trải nghiệm tốt nhất khi sử dụng dịch vụ tại Vietnix.

Đảm bảo an toàn và bảo mật thông tin của Quý khách hàng là nhiệm vụ Vietnix luôn đặt lên hàng đầu. Chúng tôi sẽ không xâm phạm vào thông tin và dữ liệu của khách hàng khi chưa được cho phép. Vietnix cam kết không chia sẻ thông tin khách hàng dưới bất kỳ hình thức nào cho bên thứ ba. Mọi hoạt động sẽ tuân thủ đúng pháp luật, điều khoản hợp đồng và Chính sách bảo mật thông tin của chúng tôi.

Vietnix có hệ thống các kênh liên lạc đa dạng giúp bạn dễ dàng kết nối được với chúng tôi. Bạn có thể liên hệ với Vietnix qua Fanpage Facebook, Livechat, Ticket, Email,… Ngoài ra, trong trường hợp cần hỗ trợ nhanh chóng, bạn có thể gọi đến hotline: 1800 1093 – 07 088 44444 để được giải quyết kịp thời.

Tại Vietnix, chúng tôi hỗ trợ việc hoàn tiền trong vòng 30 ngày kể từ khi dịch vụ của quý khách được kích hoạt trên hệ thống (không tính thời gian dùng thử dịch vụ), ngoại trừ các dịch vụ: Domain, SSL, License.

– Đối với các dịch vụ Hosting, VPS: Hoàn tiền 100% trong vòng 07 ngày kể từ ngày đăng ký dịch vụ. Sau 07 ngày hoàn lại số tiền tương ứng sau khi đã trừ đi số tiền dịch vụ đã được sử dụng theo ngày.

– Đối với các dịch vụ Server, Colocation: hoàn lại số tiền tương ứng sau khi đã trừ đi số tiền dịch vụ đã được sử dụng theo ngày.

Quý khách có thể xem nội dung chi tiết tại Chính sách hoàn tiền của Vietnix.

Xem tất cả câu hỏi