Tổng hợp thủ thuật với file .htaccess trong WordPress

0
5039
Tổng hợp thủ thuật với file .htaccess trong WordPress

.htaccess là gì?

.htaccess là tập tin cấu hình được đọc bởi máy chủ – thông thường là apache websever hoặc có thể là Unix hay Linux được tạo ra nhằm mục đích kiểm soát website bằng cách thay đổi cái đặt trên máy chủ và có thể làm nhiều thứ khác nhau. Tuy chỉ là một file được tạo ra nhưng sức mạnh của nó để hoàn thiện website là vô cùng lớn, có thể kể đến một vài chức năng thường được cấu hình trong file .htaccess như viết lại URL, tối ưu hóa tốc độ trang web, tùy chỉnh các trang lỗi 404, 500 theo ý riêng của người cấu hình, ngăn chặn các spam độc hại hay một địa chỉ ip nào đó truy cập đến, v.v…

.htaccess nằm ở đâu?

khi cài đặt WordPress thường thì file .htaccess tự động được tạo ra nhưng dưới dạng file ẩn nhằm mục đích tránh những tác động rủi ro như vô tình xóa đi hay chèn vào những đoạn mã có thể làm cho website hoạt động không như mong muốn. Khi đã có file .htaccess và bạn muốn hiển thị file để tự cấu hình thì làm theo bước sau:

Truy cập vào Cpanel -> file manager -> chọn setting->

Cài đặt trên hosting để thấy được file .htaccess có tồn tại hay không

Một form giao diện sẽ hiện lên –> chọn mục show hidden file.

Khung cái đặt File Manager trên hosting

Đôi khi trong một số trường hợp sau khi cài đặt WordPress mà bạn không thấy file .htaccess hay vì một lý do nào đó mà vô tình file này đã bị xóa thì bạn có thể tạo bằng thủ công như sau:

Truy cập vào Cpanel -> file manager->public_html chọn new file.

Lựa chọn chức năng new file để tạo file .htaccess

Đặt tên file là .htaccess -> Creat new file

Tạo một file có tên ".htaccess"

Chức năng của file .htaccess

Sau khi đã biết được file .htaccess là gì và nằm ở đâu trong website WordPress thì bây giờ chúng ta sẽ tìm hiểu những chức năng của file này. kể vể chức năng của .htaccess thì nhiều vô số nhưng trong bải viết này sẽ tập trung vào những chức năng chính sau đây. Một lời khuyên là ngay trước khi bắt đầu cấu hình mới file.htaccess bạn nên có một bản sao lưu để đề phòng trường hợp máy chủ không hỗ trỡ đọc những đoạn mã mới

1/Ngăn chặn một số ip truy cập vào trang web

Một trang web được tạo ra là nhằm mục đích thu hút lượt truy cập, tuy nhiên nếu bạn biết một lượt truy cập từ địa chỉ ip nào đó vào website của mình với mục đích xấu thì nên cấu hình cho file .htaccess để đề phòng trường hợp website bị phá hoại. Mã cho trong file .htaccess cho chức năng này là:

 
<limit get="GET" post="POST" put="PUT">
order allow,deny
allow from all
deny from 123.456.789
deny from 93.121.788
deny from 223.956.789
deny from 128.456.780
</limit>

2/Tăng tốc website bằng cách vô hiệu hóa hotlinking

Như đã giới thiệu trong bài cách tối ưu và tăng tốc webste WordPress, website của bạn có thể bị chậm từ việc bị mất băng thông do bên ăn cắp sử dụng đường dẫn ảnh trực tiếp lên máy chủ của học. để tránh tình trang này bạn cần phải cấu hình trong file .htaccess đoạn mã như sau:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?website_cua_ban [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]

3/Tạo chuyển hướng khi truy cập vào website

Thông thường việc này được cấu hình trong file .htaccess là để chuyển đến một trang khác nhằm thông báo rằng website của bạn đang trong thời gian bảo trì hay không còn hoạt động nữa

RewriteEngine on
 RewriteCond %{REQUEST_URI} !/site_cua_ban.html$
 RewriteCond %{REMOTE_ADDR} !^123.123.123.123
 RewriteRule $ /site_cua_ban.html [R=302,L]

4/Ngăn chặn các địa chỉ ip truy cập vào trang admin trừ bạn

Điều này là cần thiết vì quan trọng hơn hết bạn phải làm chủ website của bạn, nếu không được bảo mật rất có thể hacker sẽ xâm nhập và lấy đi quyền làm chủ website, bạn có thể đơn giản cấu hình cho những địa chỉ ip được phép truy cập.

 AuthUserFile /dev/null
 AuthGroupFile /dev/null
 AuthName "Wordpress Admin Access Control"
 AuthType Basic
 <limit get>
 order deny,allow
 deny from all
 allow from xx.xx.xx.xx #dia_chi_ip_duoc_phep_truy_cap
 </limit>

5/Viết lại đường dẫn thân thiện cho SEO

Chúng ta đều biết đường dẫn có dạng leanhtien.php?id=1 như vậy thường không tốt cho SEO, nên cần phải chuyển đường dẫn về dạng thân thiện với SEO hơn như leanhtien-1.html

RewriteEngine on
RewriteRule ^leanhtien-([0-9]+).html$ leanhtien.php?id=$1

Nếu là SEOer chắc hẳn bạn sẽ không quên cơ hội thêm từ khóa chính vào url

leanhtien.php?id = 1 -> leanhtien-thu-thuat-.htaccess-1.html

RewriteEngine on
RewriteRule ^product/([a-zA-Z0-9_-]+)/([0-9]+).html$ product.php?id=$2

6/ Điều hướng về một trang lỗi tùy chỉnh

Trong nhiều trường hợp xảy ra lỗi ngoài tầm kiểm soát, lỗi cá nhân hay bạn muốn xử lý một lỗi nào đó nằm bên ngoài website thì một lựa chọn điều hướng đến trang thông báo lỗi sẽ làm cho website của bạn chuyên nghiệp hơn. Hơn nữa bạn cũng có thể lựa chọn những  thông báo riêng cho website.

ErrorDocument mã_số_lỗi /trangloi.html 

VD bạn muốn mã số lỗi cho lỗi không tìm thấy trang là 404 thì bạn sẽ cấu hình như sau

ErrorDocument 404 /notfound.html 

Một vài quy tắc về mã số lỗi và lỗi tương ướng với mã số như

401 – Yêu cầu ủy quyền
400 – Yêu cầu không hợp lệ
500 – Lỗi máy chủ nội bộ
404 – Trang không đúng

7/Thêm mật khẩu bảo vệ vào thư mục của bạn

Một website hay blog khi bị tấn công thường các bài viết sẽ bị xóa sạch, nếu điều này xảy ra sẽ làm mất rất nhiều thời gian và rất khó để khôi phục lại tranh như ban đầu vì vậy cần phải cài đặt mật khẩu bảo vệ thư mục Thêm bảo vệ mật khẩu cho các tệp cung cấp quyền truy cập vào các thư mục trên blog của bạn thêm một lớp bảo mật bổ sung và ngăn người dùng trái phép truy cập các trang web khác được kết nối với blog của bạn.

 AuthType Basic
 AuthName "restricted area"
 AuthUserFile /usr/local/var/www/html/.htpasses
 require valid-user

8/Điều hướng 301

Đôi khi bạn muốn chuyển hướng khách truy cập trang của bạn đến một trang khác hay chuyển nội dung từ một trang sang một trang mới với một địa chỉ khác. Cách này cũng giúp những người mong muốn kiếm tiền từ quảng cáo(như là Google Adsen) nó sẽ bắt người dùng sử dụng một tên miền nhất định do bạn chọn (một domain sẽ có 2 kiểu địa chỉ (Vd: www.ten_websiteten_website)
Bạn thêm code sau vào .htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^\.ten_website\.com$[NC]
RewriteRule ^(.*)$ http://www.ten_website [R=301*L]

9/Thay thế trang index bằng một trang tùy chỉnh

Khi nhập url một trang web máy chủ sẽ tìm kiếm trang index.html làm trang mặc định cho trang web đó nhưng với các yêu cầu của khác nhau mà webmaster muốn thay đổi trang mặc định của mình thành một trang khác như muốn thay đổi giao diện cho trang web một thời gian, hay tạm thời đang sử dụng trang index.html vào một việc nào đó, v.v…

DirectoryIndex trang_thay_the1.php trang_thay_the2.php index.php index.html 
index.htm

với cách cấu hình này máy chủ sẽ tìm lần lượt tìm trang có hoạt động sẽ là trang thay thế trang index.

10/Ngăn không cho truy cập vào các tập tin php nhạy cảm

Tệp config.php chứa các thông tin nhạy cảm như tên cơ sở dữ liệu, id người dùng hay mật khẩu và chính là cây cầu nối đến cơ sở dữ liệu, thông tin trong tệp này thì không được mã hóa cho nên khi bị tấn công sẽ rất nguy hiểm đến website. Vì vậy cần tạo thêm cho nó một lớp bảo mật.

# protect wpconfig.php
 <files wp-config.php>
 order allow,deny
 deny from all
 </files>

 

Lời kết:

Trên đây là 10 thủ thuật với file .htaccess để quản lý và kiểm soát website theo ý riêng của webmaster, bạn có thể thẫy rõ chỉ một file nhỏ nhưng công dụng của nó là toàn to lớn. Bài viết này đã tổng hợp các thủ thuất trong khá quan trọng trong việc cấu hình một file .htaccess tránh được các rủi ro về bảo mật cũng như làm cho website của bạn chuyện nghiệp hơn. Hy vọng với những kiến thức trên đây bạn có thể quản lý website tốt hơn. Chúc các bạn thành công!