Cách sử dụng file .htaccess

Tại sao cần sử dụng file .htaccess

Sử dụng file .htaccess là các để cấu hình website của bạn mà không cần thay để các file cấu hình trên server. File sẽ được ẩn trong thư mục với dạng tên như như vậy.

Ngoài ra nơi đặt file cũng vô cùng quan trọng. Các cấu hình trong file đó sẽ ảnh hưởng đến mọi thứ trong thư mục chứa nó và cả các thư mục con nữa.

Các điều cần chú ý

Mặc dù file .htaccess có thể vô cùng hữu dụng, có thể được sử dụng để cải thiện trang web, nhưng có 2 điều cần chú ý

  • Thứ nhất: Tốc độ - file .htaccess có thể làm chậm máy chủ của bạn, với hầu hết các máy chủ thì thay đổi tốc độ này rất nhỏ bé không đáng kể. Sự ảnh hưởng này phụ thuộc vào vị trí của file. Mỗi lần trang web load lại, máy chủ sẽ duyêt các thư mục của nó cho đến khi tìm thấy thư mục cao nhất hoặc là file .htaccess. Quá trình này sẽ xảy ra miễn là lệnh AllowOveride cho phép sử dụng file .htaccess, dù cho file đó có tồn tại hay không.
  • Thứ hai: Bảo mật - file .htaccess dễ dàng truy cập hơn so với các chuẩn cấu hình của apache và các thay đổi được áp dụng ngay lập tức (không cần phải khởi động lại máy chủ). Cho phép người dùng quyền thay đổi file .htaccess giúp họ có quyền kiểm soát rất lớn. Bất cứ lệnh nào được đặt trong file .htaccess, đều có ảnh hưởng như ở trong file cấu hình của apache.

Nói chung, Apache không khuyến khích việc sử dụng file .htaccess nếu người dùng có thể tự điều chỉnh file cấu hình của apache.

Cách kích hoạt file .htaccess

Nếu bạn có quyền truy cập vào cài đặt của máy chủ, bạn có thể sử cấu hình để cho phép file .htaccess viết lại các chuẩn cấu hình của trang web. Mở file cấu hình mặc định của apache2.Nếu ở local bạn có thể dùng lệnh sau

sudo nano /etc/apache2/sites-available/default

Khi đã mở file, tìm phần sau đây và thay AllowOverride All thành AllowOverride None:

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    allow from all
</Directory>

Sau khi lưu và thoát file, khởi động lại apache

sudo service apache2 restart

Tạo file .htaccess

Bạn có thể tạo file .htaccess bằng trình soạn thảo văn bản ( chắc chắn rằng tên file chỉ là .htaccess, không hề có phần mở rộng hay tên nào khác) và sau đó gửi lên trang web của bạn thông qua 1 phần mềm kết nói fpt.

Thay vào đó bạn có thể sử dụng câu lệnh sau, thay thể example.com với tên trang web của bạn, để tạo file .htaccess qua terminal.

sudo nano /var/www/example.com/.htaccess

5 trường hợp sử dụng phổ biến của file .htaccess

1. Mod_Rewrite: 1 trong các chức năng hữu dụng nhất của file .htaccess là mod_rewrite. Bạn có thể sử dụng để thiết kế và thay đổi cách mà URL và các trang web trong website của bạn được hiển thị với người dùng. Bạn có thể được hướng dẫn chi tiết tại đây: Cách sử dụng mod_rewrite của .htaccess

2. Xác thực: Chúng ta có thể sử dụng file .htaccess để yêu cầu người dùng nhập tài khoản, mật khẩu khi truy cập. Các mật khẩu của được lưu trong file .htpasswd. Tạo và lưu lại fiel đó, hãy đảm bảo rằng lưu lại file ssos tại 1 nơi nào đó khác thư mục của trang web để bảo mật. Khi bạn đã lưu các tài khoản và mật khẩu tuơng ứng được phép truy cập, bạn có thể thêm đoạn lệnh sau vào file .htaccess để sử dụng chức năng mật khẩu:

AuthUserFile /usr/local/username/safedirectory/.htpasswd
AuthGroupFile /dev/null
AuthName "Please Enter Password"
AuthType Basic
Require valid-user
  • AuthUserFile: Đường dẫn tới file .htpasswd.
  • AuthGroupFile: Sử dụng để truyền địa chỉ của .htgroup. Vì chúng ta không tạo file này, ta có thể để là /dev/null.
  • AuthName: Đoạn chữ được hiển thị khi form đăng nhập hiện lên
  • AuthType: Chỉ loại xác thực được sử dụng khi kiểm tra mật khẩu. Các mật khẩu được kiểm tra qua HTTP và không nên thay đổi từ khóa Basic.
  • Require valid-user: Giúp file .thacces biết có 1 số người có thể đăng nhập vào được. Hoặc có thể dùng lệnh khác là "require user username" để chỉ rằng chỉ có user được chỉ định mới có quyền truy cập.

3. Tự tạo trang web trả về thông báo lỗi: file .htaccess còn cho phép bạn tạo tùy chỉnh trang trả về thông báo lỗi. 1 vài lỗi phổ biến là:

  • 400 Bad Request
  • 401 Authorization Require
  • 403 Forbidden Page
  • 404 File Not Found
  • 500 Internal Error

Để tạo 1 trang với giao diện thân thiện và cung cấp nhiều thông tin hơn cho người sử dụng so với trang trả về lỗi mặc định, bạn có thể sử dụng file .htaccess.

Đầu tiên bạn tự tạo trang trả về lỗi 404 hay bất kỳ lỗi nào tùy thích. Sau đó thì gửi lên server, rồi thêm lệnh sau vào file .htaccess:

ErrorDocument 404 /new404.html

Luôn nhớ răngf Apache tìm kiếm trang lỗi 404 đặt trong thư mục gốc (root). Nếu bạn đặt tại thư mục con, bạn cần ghi địa chỉ cụ thể :

ErrorDocument 404 /error_pages/new404.html

4. Mime Types: Trong các trường hợp mà trang web của bạn có các file ứng dụng mà máy chủ không được cài đặt để gửi đi, bạn có thể thêm loại MIME vào máy chủ thông qua file .htaccess:

AddType audio/mp4a-latm .m4a

Đảm bảo rằng thay thế phần mở rộng các file với loại Mime mà bạn muốn hỗ trợ.

5. SSI Server Side Includes tiết kiệm rấts nhiều thời gian cho website. 1 trong các trường hợp sử dụng phổ biến của SSI là cập nhập 1 lượng lớn các trang với nhưng dữ liệu rõ ràng, không cần phải cập nhật từng trang ( ví dụ, nếu bạn muốn thay đổi câu quote ở cuối trang ).

Để khởi động SSI, thêm đoạn lệnh sau vào file .htaccess:

AddType text/html .shtml
AddHandler server-parsed .shtml

Các dòng lệnh cho file .htaccess biết các file .shtml có hiệu lực, dòng thứ 2 đặc biệt khiến máy chủ phân tích tất cả các file có đuôi .shtml cho bất kỳ lệnh SSI nào.

Như vậy mình đã giới thiệu qua về file .htaccess và các công dụng phổ biến của nó, mong rằng bài viết sẽ giúp ích cho các bạn trong quá trình phát triển trang web.

Link tham khảo https://www.digitalocean.com/community/tutorials/how-to-use-the-htaccess-file

All Rights Reserved