Nhiều người dùng WordPress biết đến tệp .htaccess khi sửa permalink. Nhưng bạn có thể làm được nhiều hơn thế. Tệp .htaccess là tệp cấu hình mạnh mẽ giúp cải thiện bảo mật và hiệu năng website. Trong bài này, chúng tôi giới thiệu 9 thủ thuật .htaccess hữu ích nhất cho WordPress mà bạn có thể thử ngay trên website của mình.
Bắt đầu
Trước khi thay đổi bất cứ điều gì, bạn cần sao lưu tệp .htaccess hiện có. Kết nối tới website bằng FTP client và tải tệp .htaccess về máy. Nếu có sự cố, bạn có thể tải bản sao lưu lên lại.
Nếu không thấy tệp .htaccess, hãy bảo đảm FTP client được cấu hình hiển thị tệp ẩn.
Nếu thư mục gốc của website chưa có tệp .htaccess, bạn cần tạo mới. Chỉ cần tạo một tệp văn bản trống và lưu với tên .htaccess. Bảo đảm tên tệp là .htaccess chứ không phải htaccess. Cuối cùng, tải tệp lên thư mục gốc của website.
Bảo vệ khu vực quản trị WordPress
Bạn có thể dùng .htaccess để bảo vệ khu vực quản trị WordPress bằng cách chỉ cho phép một số địa chỉ IP truy cập. Chỉ cần sao chép và dán đoạn mã sau vào tệp .htaccess:
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "WordPress Admin Access Control" AuthType Basic <LIMIT GET> order deny,allow deny from all # whitelist Syed's IP address allow from xx.xx.xx.xxx # whitelist David's IP address allow from xx.xx.xx.xxx # whitelist Amanda's IP address allow from xx.xx.xx.xxx # whitelist Muhammad's IP address allow from xx.xx.xx.xxx # whitelist Work IP address allow from xx.xx.xx.xxx </LIMIT>
Thay xx.xx.xx.xxx bằng địa chỉ IP của bạn. Nếu dùng nhiều địa chỉ IP để truy cập Internet, hãy thêm cả các IP đó.
Đặt mật khẩu cho thư mục quản trị WordPress
Trước tiên, bạn cần tạo tệp .htpasswds. Có thể dễ dàng tạo bằng công cụ tạo trực tuyến này.
Tải tệp .htpasswds lên bên ngoài thư mục web công khai hoặc thư mục /public_html/. Một đường dẫn phù hợp là:
home/user/.htpasswds/public_html/wp-admin/passwd/
Giờ tạo một tệp .htaccess mới và thêm đoạn mã sau:
AuthName "Admins Only" AuthUserFile /home/yourdirectory/.htpasswds/public_html/wp-admin/passwd AuthGroupFile /dev/null AuthType basic require user putyourusernamehere <Files admin-ajax.php> Order allow,deny Allow from all Satisfy any </Files>
Quan trọng: Đừng quên thay đường dẫn AuthUserFile bằng đường dẫn tới tệp .htpasswds và thêm tên người dùng của bạn.
Tải tệp .htaccess này lên thư mục wp-admin. Vậy là xong, thư mục quản trị WordPress giờ đã được bảo vệ bằng mật khẩu và chỉ bạn hoặc người bạn cho phép mới truy cập được.
3. Tắt duyệt thư mục trong WordPress
Nhiều chuyên gia bảo mật WordPress khuyên tắt duyệt thư mục (directory browsing). Khi bật duyệt thư mục, tin tặc có thể xem cấu trúc thư mục và tệp của website để tìm tệp có lỗ hổng.
Để tắt duyệt thư mục trong WordPress, chỉ cần thêm dòng sau vào tệp .htaccess:
Options -Indexes
Tắt thực thi PHP trong một số thư mục WordPress
Các website WordPress bị tấn công thường có tệp backdoor. Các tệp này thường được ngụy trang thành tệp lõi của WordPress và đặt trong thư mục /wp-includes/ hoặc /wp-content/uploads/. Một cách đơn giản để tăng bảo mật WordPress là tắt thực thi PHP ở một số thư mục.
Tạo một tệp .htaccess trống và dán đoạn mã sau vào:
<Files *.php> deny from all </Files>
Giờ tải tệp này lên thư mục /wp-content/uploads/ và /wp-includes/.
Bảo vệ tệp cấu hình wp-config.php của WordPress
Có lẽ tệp quan trọng nhất trong thư mục gốc của website WordPress là wp-config.php. Tệp chứa thông tin về cơ sở dữ liệu WordPress và cách kết nối tới nó. Để bảo vệ wp-config.php khỏi truy cập trái phép, chỉ cần thêm đoạn mã sau vào tệp .htaccess:
<files wp-config.php> order allow,deny deny from all </files>
Thiết lập chuyển hướng 301 qua tệp .htaccess
Chuyển hướng 301 là cách thân thiện với SEO nhất để báo cho người dùng biết nội dung đã chuyển sang vị trí mới. Nếu muốn quản lý chuyển hướng 301 cho từng bài viết, bạn có thể dùng plugin Quick Page/Post Redirect.
Còn nếu chỉ muốn nhanh chóng chuyển hướng người dùng từ URL này sang URL khác, chỉ cần dán đoạn mã sau vào tệp .htaccess
Redirect 301 /oldurl/ http://www.example.com/newurl Redirect 301 /category/television/ http://www.example.com/category/tv/
Chặn địa chỉ IP đáng ngờ
Thấy yêu cầu bất thường từ một địa chỉ IP? Muốn chặn một IP truy cập website? Thêm đoạn mã sau vào tệp .htaccess:
<Limit GET POST> order allow,deny deny from xxx.xxx.xx.x allow from all </Limit>
Chặn hotlink hình ảnh trong WordPress bằng .htaccess
Người khác có thể làm chậm website và “ăn cắp” băng thông của bạn bằng cách hotlink hình ảnh từ website của bạn. Thông thường, điều này không ảnh hưởng nhiều đến phần lớn người dùng. Nhưng nếu bạn có website đông khách với nhiều hình ảnh, hotlink có thể thành vấn đề nghiêm trọng. Bạn có thể chặn hotlink hình ảnh bằng cách thêm đoạn mã sau vào tệp .htaccess:
#disable hotlinking of images with forbidden or custom image option
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?binhminhitc.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?feeds2.feedburner.com/binhminhitc [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]
Đừng quên thay binhminhitc.com bằng tên miền của bạn.
Bảo vệ .htaccess khỏi truy cập trái phép
Như bạn thấy, có rất nhiều việc có thể làm bằng tệp .htaccess. Vì tệp này có quyền kiểm soát lớn với web server, cần bảo vệ nó khỏi truy cập trái phép của tin tặc. Chỉ cần thêm đoạn mã sau vào tệp .htaccess:
<files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files>
Hy vọng bài viết giúp bạn nắm được một số thủ thuật .htaccess hữu ích nhất cho WordPress.
