File .htaccess mặc định trên website của WordPress không những tăng cường bảo mật mà còn giúp bạn xử lý Rewrite URL, nếu bạn di chuyển website từ Nginx sang hosting dễ xảy ra lỗi 404 (not found) thì điều đầu tiên bạ phải nghĩ đến đó là do file .htaccess.

Trường hợp xảy ra lỗi phổ biến:

  • Chuyển hosting từ server sử dụng Nginx sang server dùng cPanel hoặc Apache
  • Trang chủ vô được nhưng các trang con vô không được. Lỗi báo 404

File .htaccess nằm ở đâu trên hosting?

Bạn đăng nhập vào hosting của bạn, tìm đến domain đang báo lỗi và vào thư mục public_html

Thư mục chứa file .htaccess
Thư mục chứa file .htaccess

Sau đó nhấn chuột phải và nhấn Edit

File .htaccess mặc định của website WordPress

Nếu website bạn đang bị lỗi, bạn có thể copy file .htaccess mặc định sau của WordPress để thay thế nhé, trước khi copy bạn lưu ý nhớ lưu lại file cũ trên notepad.

Sau đây IMTA lưu trữ 3 dạng file mặc định .htaccess bạn hãy chọn loại phù hợp với website bạn nhé.

File .htaccess cho 1 website WordPress duy nhất (Only Site)

Code này fix lỗi .htaccess cho website của bạn (thư mục chứa website) chỉ có duy nhất 1 website

# BEGIN WordPress

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPress

File .htaccess mặc định cho WordPress multisite

Đây là file mặc định cho website wordpress làm multisite (nhiều website con)

# BEGIN WordPress Multisite
# Using subfolder network type: https://wordpress.org/documentation/article/htaccess/#multisite

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
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]

# END WordPress Multisite

File .htaccess cho WordPress dùng Subdomain

# BEGIN WordPress Multisite
# Using subdomain network type: https://wordpress.org/documentation/article/htaccess/#multisite

RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# add a trailing slash to /wp-admin
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]

# END WordPress Multisite

File .htaccess cho WordPress dùng Subfolder

# BEGIN WordPress Multisite
# Using subfolder network type: https://wordpress.org/documentation/article/htaccess/#multisite

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

# add a trailing slash to /wp-admin
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).*) $1 [L]
RewriteRule ^[_0-9a-zA-Z-]+/(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

# END WordPress Multisite

Một số lưu ý cho file .htaccess WordPress

Khi bạn cài đặt 1 số plugin thì có thể plugin sinh ra file .htaccess như plugin LiteSpeech Cache chẳng hạn, thì lúc này bạn không nên sửa các file do pluign sinh ra.

Những lưu ý khi dùng file .htaccess mặc định WordPress
Những lưu ý khi dùng file .htaccess mặc định WordPress

Lời kết

File này sửa rất đơn giản, tuy nhiên những bạn mới làm website thấy lỗi 404 khi chuyển hosting sẽ cảm thấy lo lắng. Bạn hãy lưu lại file này khi chuyển từ nginx sang Apche hoặc LiteSpeed Server copy vào để rewrite URL nhé.

Cảm ơn bạn đã đọc bài viết!

Digital Marketing IMTA WordPressFile .htaccess mặc định WordPress khắc phục lỗi URL website