Hypertext Access là một file cấu hình chuyên dành cho các webserver chạy Apache. Vậy File .htaccess là gì? Ta có thể làm gì với file .htaccess?
Nội dung
File .htaccess là gì?
File .htaccess là một file website mạnh mẽ, kiểm soát cấu hình cấp cao của trang web của bạn. Trên các server chạy Apache (một phần mềm web server), file .htaccess cho phép bạn thực hiện các thay đổi cấu hình trang web của mình mà không cần phải chỉnh sửa file cấu hình server.
Trong hướng dẫn về file .htacess này, chúng tôi giải đáp cách sử dụng file .htaccess và cách định vị file trên server của bạn, v.v.
Trong hướng dẫn này bao gồm
- Vị trí .htaccess
- Sử dụng phổ biến của file .htaccess
- Sử dụng nhiều file .htaccess
- Cách chỉnh sửa file .htaccess của bạn
- Cách redirect URL bằng file .htaccess
- Viết lại URL bằng .htaccess
- Buộc địa chỉ trang web không phải WWW
- Buộc địa chỉ trang WWW bằng .htaccess
- Tạo trang lỗi 404 tùy chỉnh với .htaccess
- Buộc HTTPS với .htaccess
- Thư mục bảo vệ mật khẩu (Password Protecting Directories) với .htaccess
- Bảo vệ Hotlink với .htaccess
- Bảo mật & Bảo vệ trang web WordPress của bạn
Vị trí của file .htaccess là gì?
Lưu ý: Apache (phần mềm cung cấp năng lượng cho web server của bạn) được cấu hình để tất cả các file có tên .htaccess đều bị ẩn. Tại sao? Vì các file này có thông tin cấu hình quan trọng và có thể được sử dụng để xâm phạm server của bạn.
Mặc dù file bị ẩn nhưng vị trí file .htaccess thường được tìm thấy trong thư mục public_html trên trang web của bạn.
Bạn có thể truy cập file .htaccess của mình theo nhiều cách khác nhau:
- Từ quản lý file của tài khoản hosting của bạn (chẳng hạn như qua cPanel)
- Từ ứng dụng sFTP hoặc FTP client
Mẹo: Nếu bạn không thấy file .htaccess của mình trong thư mục public_html, bạn có thể phải chọn “Hiển thị file ẩn”.
Khi bạn mở file .htaccess, nó sẽ trông giống như sau:
Các ứng dụng phổ biến của file .htaccess là gì?
Có nhiều trường hợp ta cần sử dụng file .htaccess. Các ví dụ phổ biến nhất bao gồm:
- Thêm chuyển hướng cho các URL nhất định
- Tải các trang lỗi tùy chỉnh, như trang 404
- Buộc trang web của bạn sử dụng HTTPS thay vì HTTP
- Bảo vệ bằng mật khẩu các thư mục nhất định trên máy chủ của bạn
- Ngăn chặn hotlinking
Sử dụng file .htaccess là một công cụ mạnh mẽ để quản lý server của bạn. Nhưng nó tương đối phức tạp. Hãy đảm bảo rằng bạn đã quen với việc thực hiện các thay đổi trên server của mình trước khi bắt đầu chỉnh sửa file .htaccess.
Lưu ý: Trước khi thử bất kỳ điều nào được mô tả trong hướng dẫn này, bạn nên tạo bản sao lưu của file .htaccess và toàn bộ trang web WordPress của bạn (chẳng hạn như với WordPress backup plugin như BackupBuddy).
Sử dụng nhiều file .htaccess
Bạn có thể áp dụng các cài đặt khác nhau cho các thư mục khác nhau trên server của mình bằng cách sử dụng nhiều file .htaccess. Về mặt lý thuyết, bạn có thể tạo file .htaccess trong bất kỳ thư mục nào trên server của mình bằng cách tạo và tải lên file văn bản thuần túy.
Dưới đây là một số điều cần ghi nhớ:
- Nên giảm bớt số lượng file .htaccess trên server của mình. Bởi vì quá nhiều cấu hình có thể làm chậm server của bạn.
- Khi server của bạn nhìn thấy file .htaccess trong một thư mục, nó cũng sẽ tìm kiếm file .htaccess trong tất cả các thư mục mẹ. Việc này làm tăng việc sử dụng tài nguyên server.
- Các file .htaccess có cấp cao hơn trong đường dẫn file luôn được ưu tiên.
Cách chỉnh sửa file .htaccess là gì ?
Nếu bạn cần chỉnh sửa file .htaccess của mình, bạn sẽ cần tải xuống file hiện có bằng ứng dụng FTP client hoặc thông qua hệ thống truy cập file của host, chẳng hạn như trong cPanel.
File .htaccess trên trang web của bạn có thể đã chứa các cài đặt quan trọng. Nếu file .htaccess của bạn có cài đặt hiện có, hãy thêm mã mới vào những gì đã có.
Lưu ý: Không xóa file .htaccess hiện có trừ khi file đó trống hoặc bạn hoàn toàn chắc chắn rằng xóa được.
Cách redirect URL bằng file .htaccess là gì?
Ví dụ bạn quyết định thay đổi tên miền hoặc thay đổi tổ chức trang web của mình. Khi đó, bạn có thể thiết lập URL redirect để đảm bảo khách truy cập trang web của bạn không bị nhầm lẫn. Một cách dễ dàng để làm điều này là sử dụng các file .htaccess.
Để chỉnh sửa file .htaccess, bạn cần phải tự tạo lại file và tải tệp lên server bằng SFTP.
1. Đăng nhập vào server của bạn qua SFTP.
2. Tìm và tải xuống file .htaccess của bạn. Nó thường sẽ nằm trong thư mục nội dung của bạn. Nếu bạn không có file .htaccess, bạn có thể tạo một file có tên .htaccess trên máy tính để lưu các cấu hình của bạn.
3. Mở file qua trình soạn thảo văn bản yêu thích của bạn
4. Thêm các dòng này vào tệp của bạn:
# enable basic rewriting
RewriteEngine on
5. Sao chép và dán các cấu hình mới vào file .htaccess và lưu file.
6. Tải nó trở lại thư mục mà bạn đã lấy file .htaccess ban đầu.
7. Kiểm tra bằng cách truy cập trang web của bạn và xem các trang bạn muốn chuyển hướng.
Bạn cũng có thể sử dụng file .htaccess để chuyển hướng các trang riêng lẻ trên trang web của mình bằng cách sử dụng chuyển hướng 301 và 302.
Rewrite URL bằng .htaccess
Việc rewrite URL cũng tương tự như chuyển hướng vì chúng đều đưa một URL mục tiêu đến một URL khác. Nhưng điều này thực sự được chuyển đổi bởi web server trong khi xử lý lưu lượng truy cập.
Hầu hết, việc rewrite các URL sẽ buộc các trang web phải có URL có hoặc không có www trong URL.
Force địa chỉ trang web không phải WWW
Khi bạn thêm thông tin này vào file .htaccess của mình, bất kỳ khách truy cập nào nhập vào www.mysite.com sẽ được chuyển đến mysite.com.
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^mysite\.com
RewriteRule (.*) http://mysite.com/$1 [R=301,L]
Thay thế mysite.com
bằng miền của bạn. Nếu bạn có một miền cấp cao khác (ví dụ: .net hoặc .org thay vì .com), hãy sử dụng miền cấp cao đó thay vì .com /
. Không xóa dấu “\” vì nó cần thiết cho đúng cú pháp .
Force địa chỉ trang WWW bằng .htaccess
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.com [NC]
RewriteRule ^(.*)$ http://www.mysite.com/$1 [L,R=301]
Thay thế mysite.com
bằng miền của bạn. Nếu bạn có miền cấp cao khác (ví dụ: .net hoặc .org thay vì .com), hãy sử dụng miền cấp cao đó thay vì “.com”. Lưu ý: Không xóa “\” vì nó cần thiết cho đúng cú pháp.
Tạo trang lỗi 404 tùy chỉnh với .htaccess
Trang 404 là gì? Nó thực ra là một thông báo lỗi hiển thị cho các trang không thực sự tồn tại trên một website. Trang 404 thường có nội dung “Không tìm thấy trang”. Nhưng bạn cũng có thể tìm thấy các ví dụ về các trang 404 vui nhộn đã được tùy chỉnh để mang lại cho khách truy cập trang web trải nghiệm tốt hơn.
Các trang lỗi là một phần của bất kỳ trang web nào. Những người truy cập trang web đôi khi sẽ gặp phải các trang lỗi. Nếu bạn sử dụng các trang lỗi tùy chỉnh, bạn có thể biến một trang lỗi thành một trải nghiệm tích cực với các trang 404 vui nhộn.
Tiếp theo, chúng tôi sẽ hướng dẫn cách thêm các trang lỗi tùy chỉnh vào trang web của bạn bằng cách sử dụng .htaccess.
Trước khi thiết lập các trang lỗi, bạn cần tạo các trang lỗi của mình. Bạn có thể làm điều này theo cách bạn muốn. Tự code trang của bạn, sử dụng trình tạo trang web hoặc một cách khác. Khi bạn xây dựng xong trang lỗi của mình, hãy lưu file để có thể tải file lên server của bạn.
Bây giờ để thiết lập các trang lỗi tùy chỉnh, bạn sẽ chỉnh sửa file .htaccess trên trang web của mình.
1. Trước khi chỉnh sửa file .htaccess, hãy tải các trang lỗi tùy chỉnh lên server. Bạn có thể thực hiện việc này qua SFTP. Đặt các file này vào thư mục content cho trang web.
2. Đăng nhập vào server qua SFTP bằng chương trình FTP mà bạn chọn.
3. Tải xuống file .htaccess tương ứng với miền mà bạn muốn sử dụng các trang lỗi tùy chỉnh.
4. Mở file này trong trình soạn thảo văn bản và thêm thông tin sau:
# serve custom error pages
ErrorDocument 400 /errors/400.html
5. Thay thế /errors/400.html bằng đường dẫn file đến trang lỗi bạn đã tải lên. Ví dụ này có “400”, cho lỗi 400.
6. Thêm bao nhiêu dòng nếu cần, thay đổi số lỗi và đường dẫn file nếu cần.
ErrorDocument 500
ErrorDocument 404
ETC...
7. Khi bạn hoàn tất việc thêm vào file .htaccess của mình, hãy lưu và thoát khỏi file. Sau đó tải nó trở lại thư mục bạn lấy nó từ đó.
8. Cuối cùng, hãy kiểm tra trang web của bạn để đảm bảo rằng các trang lỗi của bạn đang hoạt động.
Forcing HTTPS với .htaccess
Nếu bạn muốn đảm bảo mọi khách truy cập trang web đang sử dụng kết nối an toàn (SSL), bạn có thể sử dụng .htaccess rules để chuyển hướng lưu lượng truy cập không an toàn. Thao tác này sẽ chuyển hướng http://mysite.com đến https://mysite.com. Tất nhiên, điều này sẽ chỉ hoạt động nếu bạn đã cài đặt SSL cho miền của mình. Vì vậy, tất cả các tài khoản iThemes Hosting đều đi kèm với SSL Let’s Encrypt miễn phí.
Để chuyển hướng mọi khách truy cập trang web đến một kết nối an toàn, hãy thêm quy tắc này vào file .htaccess cho trang web mà bạn muốn chuyển hướng:
#force SSL on entire site
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/?(.*) https://mysite.com/$1 [R=301,L]
Bạn sẽ cần thay thế mysite.com bằng miền thực của trang web của bạn.
Password Protecting Directories với .htaccess
Trong quá trình phát triển, thử nghiệm và tạo trang web của mình. Hoặc bạn có thể muốn đặt mật khẩu bảo vệ trang web của mình cho đến khi trang web sẵn sàng cho mọi người xem. Bạn cũng có thể có các trang hoặc thư mục web cụ thể mà bạn muốn khóa cho những người dùng cụ thể. File .htaccess là một công cụ giúp bạn thực hiện điều này trong iThemes Hosting framework. Tiếp theo, chúng ta sẽ hướng dẫn cách tạo mật khẩu để bảo vệ trang web. Cùng với đó là thư mục và các thành phần khác trên trang web của bạn.
1. Đầu tiên, bạn sẽ truy cập vào Document Root cho trang web. Đây là nơi bạn chứa file .htaccess và cũng là file .htpasswd để bảo vệ bằng mật khẩu trang web của bạn. Đường dẫn tệp sẽ giống như sau:
/eed292b5.ithemeshosting.com/web/content/
Nó sẽ được tìm thấy trong phần thông tin SFTP với tiêu đề là “Path” trên trang iThemes Hosting của bạn trong Sync. Đảm bảo rằng bạn đang sử dụng đường dẫn Thông tin FTP chứ không phải Đường dẫn UNIX.
2. File .htpasswd nên được đặt một thư mục từ thư mục gốc của trang web và được giữ riêng biệt với file .htaccess.
Lưu ý: Đặt file .htpasswd phía trên content/folder sẽ an toàn hơn vì nó không thể truy cập trực tiếp qua trình duyệt web.
3. Bạn sẽ cần tạo cú pháp cho file .htaccess và file .htpasswd. Bạn có thể sử dụng bất kỳ trang web nào nhưng với mục đích của bài viết này. Hiện tại, chúng tôi đang sử dụng http://tools.dynamicdrive.com.
4. Khi bạn làm theo các bước để tạo file, bạn sẽ cần đặt cú pháp trên server của mình. Nếu bạn đã có file .htaccess trên trang web của mình, bạn có thể nối file và thêm cú pháp bổ sung.
5. Tải file .htpasswd lên vị trí đã xác định ở bước 2.
6. Kiểm tra quyền của các file để đảm bảo rằng những người dùng bạn muốn có quyền sẽ có thể truy cập chúng.
Bảo vệ Hotlink với .htaccess là gì?
Hotlinking là gì? Khi tạo một trang web, admins thường thêm hình ảnh và nội dung khác để làm cho trang web trông đẹp hơn và thêm một số ký tự. Khi làm như vậy, bạn thường tải lên hình ảnh và thêm nó vào các trang của bạn để được xem. Bạn cũng có thể, mặc dù không được khuyến khích, sử dụng hình ảnh đã được người khác tải lên mà không cần tải xuống và sau đó tải hình ảnh đó lên trang web của bạn. Đây được gọi là hotlinking.
Thật không may, đối với những người có hình ảnh đã được các trang web khác hotlink, họ có thể sẽ nhận thấy mức sử dụng tài nguyên server của họ tăng lên vì trang web mới sử dụng những hình ảnh đó sẽ sử dụng tài nguyên của server của bạn.
Tuy nhiên, bạn có thể ngăn chặn điều này bằng cách bật tính năng bảo vệ hotlink trên trang web của mình. Dưới đây là cách thực hiện quy trình bật bảo vệ hotlink trên trang web của bạn.
1. Trước tiên, bạn cần đăng nhập vào trang web của mình qua SFTP
2. Bây giờ bạn sẽ cần tải xuống file .htaccess từ thư mục / web / content của bạn
3. Khi bạn đã có file .htaccess trên máy tính của mình, thêm các dòng sau vào file đó:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)mydomain.com/.*$ [NC]
RewriteRule \.
4. Đảm bảo rằng bạn thay đổi mydomain.com để phù hợp với miền của bạn. Ngoài ra, bạn không được sửa đổi bất kỳ mã nào khác trong file .htaccess.
5. Khi bạn đã thêm các dòng trên, tải file .htaccess trở lại thư mục / web / content của mình
6. Sau khi tải lên, hãy ngắt kết nối khỏi SFTP và kiểm tra trang web của bạn để đảm bảo rằng không có lỗi.
Theo ithemes.
Tìm hiểu thêm:
>>> 15 Công cụ test tốc độ website tốt nhất năm 2021
>>> Hướng dẫn đổi tên miền chính trong Cpanel
>>> Các khắc phục lỗi HTTP 500 Internal Server Error