12 thủ thuật .htaccess hữu ích cho WordPress

Giới thiệu về .htaccess và tầm quan trọng của nó trong WordPress
.htaccess là một file cấu hình mạnh mẽ của Apache, máy chủ web phổ biến được sử dụng rộng rãi để chạy các trang web WordPress. File này cho phép bạn kiểm soát nhiều khía cạnh khác nhau của website, từ việc chuyển hướng URL đến bảo mật và tối ưu hóa hiệu suất. Việc chỉnh sửa file .htaccess có thể cải thiện đáng kể trải nghiệm người dùng, tăng cường bảo mật và cải thiện thứ hạng SEO của trang web.
Tuy nhiên, việc chỉnh sửa .htaccess cần cẩn trọng. Một lỗi nhỏ có thể khiến trang web của bạn không hoạt động. Luôn sao lưu file .htaccess hiện tại trước khi thực hiện bất kỳ thay đổi nào.
12 Thủ thuật .htaccess Hữu ích cho WordPress
1. Chuyển hướng HTTP sang HTTPS
Việc chuyển hướng tất cả lưu lượng truy cập từ HTTP sang HTTPS là điều cần thiết để đảm bảo an toàn cho dữ liệu người dùng và cải thiện thứ hạng SEO. Bạn có thể thực hiện việc này bằng cách thêm đoạn mã sau vào file .htaccess:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
2. Chuyển hướng tên miền cũ sang tên miền mới
Khi bạn chuyển trang web của mình sang một tên miền mới, việc chuyển hướng tất cả lưu lượng truy cập từ tên miền cũ sang tên miền mới là rất quan trọng để tránh mất lưu lượng truy cập và thứ hạng SEO. Sử dụng đoạn mã sau:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.olddomain.com$
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L]
3. Ngăn chặn truy cập thư mục wp-admin (ngoại trừ địa chỉ IP của bạn)
Thư mục wp-admin là mục tiêu tấn công phổ biến. Bạn có thể tăng cường bảo mật bằng cách hạn chế truy cập vào thư mục này chỉ từ địa chỉ IP của bạn. Thay thế `your_ip_address` bằng địa chỉ IP thực của bạn:
AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "WordPress Admin Access Control"
AuthType Basic
<Limit GET POST>
order deny,allow
deny from all
allow from your_ip_address
</Limit>
4. Chặn truy cập từ các quốc gia cụ thể
Nếu bạn nhận thấy nhiều lưu lượng truy cập độc hại đến từ một quốc gia cụ thể, bạn có thể chặn truy cập từ quốc gia đó. Tuy nhiên, việc này đòi hỏi bạn phải có danh sách địa chỉ IP của quốc gia đó và cập nhật danh sách này thường xuyên. Cách này không hoàn toàn đáng tin cậy vì các địa chỉ IP có thể thay đổi.
5. Vô hiệu hóa duyệt thư mục
Ngăn chặn người dùng duyệt thư mục trên máy chủ của bạn để bảo vệ thông tin nhạy cảm. Thêm dòng sau vào file .htaccess:
Options -Indexes
6. Bảo vệ file wp-config.php
File wp-config.php chứa thông tin quan trọng về cơ sở dữ liệu của bạn. Bảo vệ file này bằng cách thêm đoạn mã sau vào .htaccess:
<Files wp-config.php>
order deny,allow
deny from all
</Files>
7. Chặn truy cập vào các file .htaccess
Ngăn chặn truy cập trực tiếp vào các file .htaccess để tránh các nguy cơ bảo mật:
<Files .htaccess>
order allow,deny
deny from all
</Files>
8. Thiết lập Expires Headers cho các tài nguyên tĩnh
Thiết lập Expires Headers giúp trình duyệt của người dùng lưu trữ (cache) các tài nguyên tĩnh như hình ảnh, CSS và JavaScript, giúp tăng tốc độ tải trang. Thêm đoạn mã sau:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType application/javascript "access 1 month"
ExpiresByType application/x-javascript "access 1 month"
ExpiresByType image/x-icon "access 1 week"
ExpiresDefault "access 2 days"
</IfModule>
9. Kích hoạt nén Gzip
Kích hoạt nén Gzip giúp giảm kích thước các file được gửi đến trình duyệt, giúp tăng tốc độ tải trang. Thêm đoạn mã sau:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
</IfModule>
10. Ngăn chặn hotlinking hình ảnh
Hotlinking là việc các trang web khác sử dụng hình ảnh của bạn trực tiếp từ máy chủ của bạn, gây tốn băng thông. Ngăn chặn hotlinking bằng cách thêm đoạn mã sau, thay thế `yourdomain.com` bằng tên miền của bạn:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourdomain.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ - [NC,F,L]
11. Chặn các bot độc hại
Chặn các bot độc hại giúp giảm tải cho máy chủ và bảo vệ trang web của bạn khỏi các cuộc tấn công. Thêm đoạn mã sau:
RewriteEngine On
# Ban some evil bots
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot mailto:craftbot@yahoo.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
RewriteCond %{HTTP_USER_AGENT} ^Download Demon [OR]
RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR]
RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR]
RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR]
RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR]
RewriteCond %{HTTP_USER_AGENT} ^Fish Search 0.4 [OR]
RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR]
RewriteCond %{HTTP_USER_AGENT} ^HTTPGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR]
RewriteCond %{HTTP_USER_AGENT} ^JOC Web Spider [OR]
RewriteCond %{HTTP_USER_AGENT} ^larbin [OR]
RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR]
RewriteCond %{HTTP_USER_AGENT} ^MegaSearch [OR]
RewriteCond %{HTTP_USER_AGENT} ^Microsoft URL Control [OR]
RewriteCond %{HTTP_USER_AGENT} ^Morphita [OR]
RewriteCond %{HTTP_USER_AGENT} ^NameProtect [OR]
RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR]
RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR]
RewriteCond %{HTTP_USER_AGENT} ^Ninja [OR]
RewriteCond %{HTTP_USER_AGENT} ^NPBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR]
RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR]
RewriteCond %{HTTP_USER_AGENT} ^Papa Foto [OR]
RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR]
RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR]
RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR]
RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR]
RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR]
RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebDAV [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR]
RewriteCond %{HTTP_USER_AGENT} ^Website Quester [OR]
RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR]
RewriteRule ^.*$ - [F,L]
12. Cấu hình Custom Error Pages
Tạo trang lỗi tùy chỉnh (404, 500, v.v.) giúp cải thiện trải nghiệm người dùng khi họ gặp lỗi trên trang web của bạn. Thêm các dòng sau vào file .htaccess, thay thế `404.html`, `500.html`, v.v. bằng đường dẫn đến các trang lỗi tùy chỉnh của bạn:
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
ErrorDocument 403 /403.html
Lưu ý quan trọng khi sử dụng .htaccess
Việc sử dụng .htaccess có thể mang lại nhiều lợi ích cho trang web WordPress của bạn, nhưng cần lưu ý một số điều quan trọng:
- Luôn sao lưu file .htaccess trước khi chỉnh sửa: Điều này giúp bạn khôi phục lại trạng thái ban đầu nếu xảy ra lỗi.
- Kiểm tra cú pháp cẩn thận: Một lỗi nhỏ trong cú pháp có thể khiến trang web của bạn không hoạt động.
- Thử nghiệm các thay đổi trên môi trường thử nghiệm trước khi áp dụng cho trang web chính thức: Điều này giúp bạn tránh gây ảnh hưởng đến người dùng nếu có lỗi xảy ra.
Các công cụ hỗ trợ chỉnh sửa .htaccess
Có nhiều công cụ hỗ trợ bạn chỉnh sửa file .htaccess một cách an toàn và hiệu quả:
- Trình soạn thảo văn bản: Sử dụng trình soạn thảo văn bản như Notepad++, Sublime Text hoặc VS Code để chỉnh sửa file .htaccess.
- FTP Client: Sử dụng FTP client như FileZilla để tải file .htaccess lên và xuống.
- Plugin WordPress: Một số plugin WordPress cung cấp giao diện để chỉnh sửa file .htaccess một cách dễ dàng. Tuy nhiên, hãy cẩn thận khi sử dụng các plugin này.
Lời khuyên cuối cùng
Việc sử dụng .htaccess hiệu quả có thể giúp bạn tối ưu hóa trang web WordPress của mình về nhiều mặt. Hãy thử nghiệm các thủ thuật trên và tìm ra những giải pháp phù hợp nhất với nhu cầu của bạn. Nhớ luôn sao lưu và kiểm tra cẩn thận trước khi thực hiện bất kỳ thay đổi nào.
Dưới đây là tóm tắt những lưu ý quan trọng:
- Sao lưu file .htaccess trước khi chỉnh sửa
- Kiểm tra kỹ cú pháp
- Thử nghiệm trên môi trường thử nghiệm