Cách cấu hình .htaccess cho Wordpress Multisite dạng SubFolder và SubDomain

by X Công Nghệ

Thông thường, khi cài đặt Wordpress Multisite trên server Apache hoặc Litespeed Web Server thì cấu hình file .htaccess cũng được cung cấp luôn cho người dùng. Nhưng nếu bạn mới chuyển hệ thống Multisite từ server NGINX sang (do NGINX không sử dụng cấu hình .htaccess), hoặc vì một lý do gì đó mà file .htaccess bị lỗi, thì bạn cần phải tạo mới hoặc sửa file .htaccess để Multisite hoạt động chính xác.

Lỗi phổ biến nhất khi Multisite chưa được cấu hình file .htaccess là đường dẫn các file tĩnh của website con bị lỗi, dẫn đến hình ảnh (và video) không thể hiển thị được, các file css và javascript lỗi dẫn đến bố cục giao diện website hiển thị không đúng như thiết kế.

Xem thêm: Cách fix lỗi CSS giao diện và trang admin bị chuyển hướng vòng lặp khi cài WordPress Multisite trên Nginx

Để khắc phục điều này, hãy sử dụng một trong hai cấu hình file .htaccess dưới đây, một dành cho Multisite dạng SubFolder, một dành cho Multisite dạng SubDomain. Bạn chỉ cần truy cập vào host bằng phần mềm FTP, chọn chỉnh sửa file .htaccess ở thư mục gốc của website, copy đoạn code dưới đây dán vào đầu file .htaccess của bạn là được.

1. Cấu hình file .htaccess dành cho Wordpress Multisite dạng SubDomain:

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

2. Cấu hình file .htaccess dành cho Wordpress Multisite dạng SubFolder

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
RewriteRule . index.php [L]

Sau khi cấu hình file .htaccess xong, bạn nên xóa toàn bộ cache website (nếu bạn sử dụng các plugin cache cho Wordpress) để hệ thống tự động tải các file mới với đường dẫn đúng.

Chúc bạn thành công!

Xem Thêm