Thứ năm, 12/07/2012 | 00:00 GMT+7

Cách sử dụng tệp .htaccess


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

Tệp .htaccess là một cách để cấu hình các chi tiết của trang web mà không cần thay đổi file cấu hình server . Khoảng thời gian bắt đầu tên file sẽ giữ file ẩn trong folder .

Bạn có thể tạo file .htaccess trong editor (đảm bảo chỉ đặt tên cho file .htaccess mà không có bất kỳ phần mở rộng hoặc tên nào khác) và sau đó tải file đó lên trang web thông qua ứng dụng client ftp.

Ngoài ra, vị trí của file .htaccess cũng quan trọng. Các cấu hình trong file đó sẽ ảnh hưởng đến mọi thứ trong folder của nó và các folder bên dưới nó.

Những điều cần lưu ý

Mặc dù trang .htaccess có thể vô cùng hữu ích và được dùng để cải thiện đáng kể trang web, nhưng có 2 điều mà nó có thể ảnh hưởng.

Một: Tốc độ —trang .htaccess có thể làm chậm server của bạn đôi chút; đối với hầu hết các server , đây có thể sẽ là một thay đổi không thể nhận thấy. Điều này là do vị trí của trang: file .htaccess ảnh hưởng đến các trang trong folder của nó và tất cả các folder bên dưới nó. Mỗi khi tải một trang, server sẽ quét folder của nó và bất kỳ thứ gì ở trên nó cho đến khi nó đến folder cao nhất hoặc file .htaccess. Quá trình này sẽ diễn ra miễn là AllowOverride cho phép sử dụng file .htaccess, cho dù file đó có thực sự tồn tại hay không.

Hai: Bảo mật — file .htaccess dễ truy cập hơn nhiều so với cấu hình apache tiêu chuẩn và các thay đổi được thực hiện ngay lập tức (không cần khởi động lại server ). Việc cấp cho user quyền áp dụng các thay đổi trong file .htaccess giúp họ có nhiều quyền kiểm soát đối với chính server . Bất kỳ chỉ thị nào được đặt trong file .htaccess, đều có tác dụng tương tự như trong chính cấu hình apache.

Nói chung, Apache không khuyến khích sử dụng .htaccess nếu user có thể dễ dàng tiếp cận các file cấu hình apache.

Như vậy, hãy tiếp tục với thông tin .htaccess.

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

Nếu bạn có quyền truy cập vào cài đặt server , bạn có thể chỉnh sửa cấu hình để cho phép file .htaccess overrides cấu hình trang web chuẩn. Mở file cấu hình server lưu trữ mặc định apache2. NB: Bạn cần các quyền sudo cho bước này.

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

Khi ở bên trong file đó, hãy tìm phần sau và thay đổi dòng có nội dung AllowOverride từ Không thành Tất cả. Phần bây giờ sẽ giống như sau:

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

Sau khi bạn lưu và thoát khỏi file đó, hãy khởi động lại apache.

sudo service apache2 restart

Tạo file .htaccess:

Bạn có thể tạo file .htaccess trong editor (đảm bảo chỉ đặt tên cho file .htaccess mà không có bất kỳ phần mở rộng hoặc tên nào khác) và sau đó tải file đó lên trang web thông qua ứng dụng client ftp.

Ngoài ra, bạn có thể sử dụng lệnh này, thay thế example.com bằng tên trang web , để tạo file .htaccess của bạn trong terminal.

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

Năm cách sử dụng phổ biến cho một trang .htaccess

1. Mod_Rewrite: một trong những khía cạnh hữu ích nhất của file .htaccess là mod_rewrite. Bạn có thể sử dụng không gian trong file .htaccess để chỉ định và thay đổi cách URL và trang web trên trang web được hiển thị cho user của bạn. Bạn có thể tìm thấy toàn bộ hướng dẫn về cách thực hiện việc này tại đây .

2. Xác thực : Mặc dù việc sử dụng file .htaccess không yêu cầu nhiều quyền như việc truy cập file apache2.conf sẽ yêu cầu, ta vẫn có thể áp dụng các thay đổi hiệu quả đối với trang web. Sau khi thay đổi như vậy là yêu cầu password để truy cập các phần nhất định của trang web.

Mật khẩu .htaccess được lưu trong một file có tên .htpasswd. Hãy tiếp tục tạo và lưu file đó, đảm bảo lưu trữ ở nơi khác ngoài folder web, vì lý do bảo mật.

Bạn nên sử dụng không gian bên trong file .htpasswd để viết tên và password của tất cả user mà bạn muốn có quyền truy cập vào phần được bảo vệ của trang web.

Bạn có thể sử dụng trang web hữu ích này để tạo cặp tên user và password được mã hóa. Nếu tên user của user được ủy quyền của bạn là jsmith và password là "tuyệt vời", cặp này sẽ giống như sau: jsmith: VtweQU73iyETM. Bạn có thể dán bao nhiêu dòng nếu cần vào file .htpasswd, nhưng hãy đảm bảo mọi user đều có dòng riêng của họ.

Sau khi hoàn tất với file .htpasswd, bạn có thể nhập mã này vào file .htaccess để bắt đầu sử dụng chức năng password :

AuthUserFile /usr/local/username/safedirectory/.htpasswd
AuthGroupFile /dev/null
AuthName "Please Enter Password"
AuthType Basic
Require valid-user
  • AuthUserFile: Dòng này chỉ định đường dẫn server đến file .htpasswd.
  • AuthGroupFile: Dòng này được dùng để truyền đạt vị trí của .htgroup. Vì ta chưa tạo file như vậy, ta có thể để nguyên / dev / null.
  • AuthName: Đây là văn bản sẽ được hiển thị tại dấu nhắc password . Bạn có thể đặt bất cứ điều gì ở đây.
  • AuthType: Điều này đề cập đến loại xác thực sẽ được sử dụng để kiểm tra password . Mật khẩu được kiểm tra qua HTTP và từ khóa Basic không được thay đổi.
  • Yêu cầu user hợp lệ: Dòng này đại diện cho một trong hai khả năng. “Yêu cầu user hợp lệ” cho file .htaccess biết rằng có một số người có thể đăng nhập vào khu vực được bảo vệ bằng password . Tùy chọn khác là sử dụng cụm từ “yêu cầu tên user ” để chỉ người được phép cụ thể.

3. Các trang lỗi tùy chỉnh : file .htaccess cũng cho phép bạn tạo các trang lỗi tùy chỉnh cho trang web của bạn . Một số lỗi phổ biến nhất là:

  • 400 Yêu cầu Không hợp lệ
  • 401 Yêu cầu ủy quyền
  • 403 trang bị cấm
  • 404 Không tìm thấy file
  • 500 lỗi nội bộ

Để làm cho trang trông thân thiện hơn và cung cấp nhiều thông tin hơn cho khách truy cập trang web so với trang lỗi server mặc định cung cấp, bạn có thể sử dụng file .htaccess để tạo các trang lỗi tùy chỉnh.

Tôi sẽ tạo một trang 404 trong hướng dẫn này. Tuy nhiên, bạn có thể thay thế lỗi đó cho bất kỳ lỗi nào bạn muốn:

Khi bạn đã tạo và tải lên trang lỗi mong muốn, bạn có thể tiếp tục và chỉ định vị trí của nó trong file .htaccess.

ErrorDocument 404 /new404.html

Lưu ý Apache tìm kiếm trang 404 nằm trong folder root của trang web. Nếu bạn đã đặt trang lỗi mới trong một folder con sâu hơn, bạn cần đưa trang đó vào dòng, làm cho nó trông giống như sau:

ErrorDocument 404 /error_pages/new404.html

4. Loại Mime: Trong trường hợp trang web có một số file ứng dụng mà server của bạn không được cài đặt để phân phối, bạn có thể thêm loại MIME vào server Apache của bạn trong file .htaccess bằng mã sau.

AddType audio/mp4a-latm .m4a

Đảm bảo thay thế phần mở rộng ứng dụng và file bằng Loại Mime mà bạn muốn hỗ trợ.

5. SSI : Server Side Bao gồm các phần mềm tiết kiệm thời gian tuyệt vời trên một trang web. Một trong những cách sử dụng phổ biến nhất của SSI là cập nhật một số lượng lớn các trang với một số dữ liệu cụ thể, mà không cần phải cập nhật từng trang riêng lẻ (ví dụ: nếu bạn muốn thay đổi báo giá ở cuối trang).

Để bật SSI, hãy nhập mã sau vào file .htaccess của bạn.

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

Ba dòng này có tác dụng thông báo cho .htaccess rằng các file .shtml là hợp lệ, với dòng thứ hai đặc biệt làm cho server phân tích cú pháp tất cả các file kết thúc bằng .shtml cho bất kỳ lệnh SSI nào.

Tuy nhiên, nếu bạn có nhiều trang .html mà bạn không muốn đổi tên bằng phần mở rộng .shtml, bạn có thể sử dụng một thủ thuật khác để phân tích cú pháp chúng cho các lệnh SSI, XBitHack.

Việc thêm dòng này vào file .htaccess làm cho Apache kiểm tra tất cả các file html với các quyền thích hợp cho Server bao gồm.

XBitHack on

Để tạo một trang đủ điều kiện cho XBitHack, hãy sử dụng lệnh sau:

chmod +x pagename.html

Xem thêm

Trang .htaccess cung cấp cho bạn nhiều sự linh hoạt để xây dựng trang web của bạn và đây chỉ là một tổng quan ngắn gọn. Nếu bạn có câu hỏi nào khác về các khả năng cụ thể của file .htaccess, vui lòng đăng câu hỏi của bạn trong Diễn đàn Hỏi và Đáp của ta và ta sẽ sẵn lòng giải đáp.

Bởi Etel Sverdlov

Tags:

Các tin liên quan