File .htaccess là gì? Những công dụng của file .htaccess
Cập nhật 12/09/2024Tóm Tắt Bài Viết
- 1 File .htaccess là gì?
- 2 Những công dụng chính của file .htaccess
- 2.1 Quản lý URL và Điều hướng
- 2.2 Bảo mật
- 2.3 Tối ưu hóa hiệu suất
- 2.4 Tùy chỉnh trang lỗi (Error Pages)
- 2.5 Thiết lập quyền truy cập và bảo vệ file
- 2.6 Tùy chỉnh và tối ưu hóa PHP
- 2.7 Chuyển hướng HTTPS
- 2.8 Kiểm soát truy cập vào trang web
- 2.9 Tích hợp với các công cụ khác
- 2.10 Quản lý nội dung và đa ngôn ngữ
- 3 Tổng kết
Trong bài viết dưới đây, hãy cùng BKNS tìm hiểu về file .htaccess và những công dụng của file .htaccess
File .htaccess
là gì?
File .htaccess
(Hypertext Access) là một tệp cấu hình đặc biệt được sử dụng trên các máy chủ web Apache. Tệp này cho phép quản trị viên web kiểm soát nhiều khía cạnh của trang web mà không cần phải truy cập trực tiếp vào tệp cấu hình chính của máy chủ. .htaccess
thường được đặt trong thư mục gốc của trang web, và các quy tắc hoặc chỉ dẫn trong tệp này sẽ được áp dụng cho thư mục đó và tất cả các thư mục con bên dưới.
Những công dụng chính của file .htaccess
Quản lý URL và Điều hướng
-
- URL Rewriting (Viết lại URL): Giúp tạo ra các URL thân thiện với người dùng và công cụ tìm kiếm (SEO). Ví dụ: chuyển hướng từ
http://example.com/index.php?page=1
thànhhttp://example.com/page/1
.RewriteEngine On RewriteRule ^page/([0-9]+)$ index.php?page=$1 [L]
- Chuyển hướng 301/302 (Redirect): Dùng để chuyển hướng các trang cũ sang trang mới, có thể là chuyển hướng tạm thời (302) hoặc vĩnh viễn (301).
Redirect 301 /oldpage.html http://www.example.com/newpage.html
- URL Rewriting (Viết lại URL): Giúp tạo ra các URL thân thiện với người dùng và công cụ tìm kiếm (SEO). Ví dụ: chuyển hướng từ
Bảo mật
-
- Bảo vệ thư mục bằng mật khẩu: Giới hạn truy cập vào các thư mục bằng cách yêu cầu tên người dùng và mật khẩu.
AuthType Basic AuthName "Restricted Area" AuthUserFile /path/to/.htpasswd Require valid-user
- Chặn IP: Ngăn chặn các địa chỉ IP cụ thể truy cập trang web của bạn.
Order Deny,Allow Deny from 123.456.789.000
- Chặn truy cập từ các user-agent cụ thể: Ngăn chặn các bot hoặc trình duyệt không mong muốn.
SetEnvIfNoCase User-Agent "BadBot" bad_bot Deny from env=bad_bot
- Chống hotlinking: Ngăn chặn các trang web khác sử dụng hình ảnh và tài nguyên của bạn một cách bất hợp pháp.
RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
- Bảo vệ thư mục bằng mật khẩu: Giới hạn truy cập vào các thư mục bằng cách yêu cầu tên người dùng và mật khẩu.
Tối ưu hóa hiệu suất
-
- Bật nén Gzip: Giảm dung lượng truyền tải bằng cách nén các tệp tin CSS, JavaScript và HTML.
<IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json </IfModule>
- Thiết lập bộ nhớ đệm (Caching): Tăng tốc độ tải trang bằng cách lưu trữ các tài nguyên tĩnh trên trình duyệt của người dùng.
<IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType application/javascript "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" </IfModule>
- Bật nén Gzip: Giảm dung lượng truyền tải bằng cách nén các tệp tin CSS, JavaScript và HTML.
Tùy chỉnh trang lỗi (Error Pages)
-
-
Trang lỗi tùy chỉnh: Tạo các trang lỗi 404, 500, và các lỗi khác để có giao diện người dùng thân thiện hơn. ErrorDocument 404 /custom_404.html ErrorDocument 500 /custom_500.html
-
Thiết lập quyền truy cập và bảo vệ file
-
- Bảo vệ file
.htaccess
và.htpasswd
: Ngăn chặn truy cập vào các file quan trọng này từ trình duyệt.<Files .htaccess> Order Allow,Deny Deny from all </Files>
- Ngăn chặn duyệt thư mục: Không cho phép người dùng duyệt qua các thư mục của bạn.
Options -Indexes
- Bảo vệ file
Tùy chỉnh và tối ưu hóa PHP
-
-
Tùy chỉnh các thiết lập PHP: Sử dụng
.htaccess
để thay đổi các cài đặt PHP nhưmax_execution_time
,memory_limit
, v.v. php_value max_execution_time 300 php_value memory_limit 128M
-
Chuyển hướng HTTPS
-
-
Bắt buộc sử dụng HTTPS: Chuyển hướng tất cả các truy cập HTTP sang HTTPS để tăng cường bảo mật. RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
-
Kiểm soát truy cập vào trang web
-
-
Giới hạn truy cập theo giờ hoặc ngày: Chỉ cho phép truy cập vào trang web trong một khoảng thời gian cụ thể. SetEnvIf Request_Time "%{TIME_HOUR} >= 9 && %{TIME_HOUR} <= 17" workhours Deny from all Allow from env=workhours
-
Tích hợp với các công cụ khác
-
- Cấu hình cho WordPress: .htaccess có thể được sử dụng để tối ưu hóa và bảo vệ trang WordPress.
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
- Cấu hình cho WordPress: .htaccess có thể được sử dụng để tối ưu hóa và bảo vệ trang WordPress.
Quản lý nội dung và đa ngôn ngữ
-
- Thiết lập trang web đa ngôn ngữ: Định tuyến người dùng đến phiên bản ngôn ngữ phù hợp của trang web dựa trên đường dẫn URL.
RewriteEngine On RewriteCond %{HTTP:Accept-Language} ^en [NC] RewriteRule ^$ /en/ [R=301,L] RewriteCond %{HTTP:Accept-Language} ^fr [NC] RewriteRule ^$ /fr/ [R=301,L]
- Thiết lập trang web đa ngôn ngữ: Định tuyến người dùng đến phiên bản ngôn ngữ phù hợp của trang web dựa trên đường dẫn URL.
File .htaccess
là một công cụ mạnh mẽ và linh hoạt cho việc quản lý và tối ưu hóa trang web trên cPanel, cung cấp nhiều khả năng để bảo mật, tối ưu hóa hiệu suất, và điều hướng người dùng. Tuy nhiên, việc chỉnh sửa .htaccess
cần cẩn thận, vì lỗi trong tập tin này có thể làm trang web không hoạt động.
Tổng kết
Trên đây là những thông tin cơ bản về file .htaccess và những công dụng của nó. Nếu bạn có bất kỳ câu hỏi hoặc ý kiến nào về file .htaccess, hãy để lại bình luận bên dưới, BKNS sẽ cùng thảo luận và giải đáp thắc mắc của bạn.
Đừng quên theo dõi huongdan.bkns và BKNS để không bỏ lỡ những bài viết hay và hữu ích tiếp theo nhé!