File .htaccess là gì? 19 Cách sử dụng File .htaccess khi SEO

file htaccess ltgseo vn

Tập tin .htaccess giữ vai trò cực kỳ quan trọng trong việc tối ưu hóa hiệu suất của website cũng như cung cấp khả năng điều hướng URL một cách linh hoạt. Đây là một công cụ thiết yếu không thể thiếu đối với các lập trình viên web.

Trong bài viết này, dịch vụ SEO LTGSEO sẽ mang đến cho bạn những kiến thức sâu rộng về tập tin .htaccess, đồng thời cung cấp hướng dẫn chi tiết về cách chỉnh sửa và cấu hình tập tin này một cách bài bản và chuyên nghiệp.

file htaccess ltgseo vn

Danh mục bài viết

I. File .htaccess là gì?

File .htaccess, thường được biết đến với tên gọi là Hypertext Access, thực chất là một tệp cấu hình rất quan trọng, được sử dụng trong các máy chủ web dựa trên nền tảng Apache.

Chức năng chính của tập tin này là cho phép quản lý và điều phối các yêu cầu từ người dùng tới máy chủ, đồng thời mang lại sự linh hoạt trong việc kích hoạt hoặc vô hiệu hóa những tính năng nhất định, cũng như bảo vệ các khu vực cụ thể của trang web khỏi truy cập trái phép.

Tập tin .htaccess có tác động đến thư mục mà nó nằm trong đó, cùng với tất cả các thư mục con. Nó được sử dụng nhằm cấu hình các tùy chọn như khả năng thực thi hay vô hiệu hóa một số tính năng cụ thể, quản lý quyền truy cập vào trang web một cách linh hoạt và hiệu quả hơn.

II. File .htaccess nằm ở đâu?

Vị trí của file .htaccess thường phụ thuộc vào cách mà server được cấu hình cũng như phương thức bạn thực hiện việc cài đặt website. Trong phần lớn các trường hợp, file .htaccess sẽ được đặt trong thư mục chính public_html, nơi chứa các tập tin HTML, CSS và nhiều loại tập tin khác liên quan đến trang web của bạn.

Bạn có thể truy cập vào file .htaccess bằng cách khác nhau từ quản lý file tài khoản hosting của bạn như:

Host DirectAdmin: chọn File > Chọn public_html > Chọn .htaccess.

Host Cpanel: chọn File manager > Chọn public_html > Chọn .htaccess.

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

Tệp tin .htaccess có vai trò vô cùng quan trọng trong việc tối ưu hóa và bảo vệ an toàn cho website, được coi như một “cỗ máy đa năng” với nhiều chức năng mạnh mẽ. Dưới đây là một số chức năng chính mà tệp .htaccess có thể thực hiện.

III.1. Điều hướng URL

Thiết lập các URL dễ sử dụng hơn cho người dùng, chuyển hướng từ các URL trước đây, ẩn phần mở rộng của tệp tin và tạo ra các URL ảo nhằm nâng cao sự thuận tiện cho người truy cập.

III.2. Bảo mật website

Bảo vệ các thư mục thông qua việc yêu cầu mật khẩu, ngăn chặn các địa chỉ IP đáng ngờ, giới hạn quyền truy cập theo những phương thức nhất định và ẩn đi các tệp tin nhạy cảm nhằm nâng cao mức độ bảo mật cho trang web.

III.3. Tối ưu hóa hiệu suất

Kích hoạt nén gzip để giảm dung lượng dữ liệu, thiết lập bộ nhớ cache cho trình duyệt nhằm nâng cao tốc độ tải trang, hạn chế truy cập vào các tệp tin không cần thiết, đồng thời tối ưu hóa hình ảnh để cải thiện tốc độ tải trang.

Xem thêm bài viết  CMS là gì? 5+ Nền tảng CMS phổ biến cho SEO Website 2025

III.4. Quản lý nội dung

Thực hiện tự động điều chỉnh định dạng của trang web, tạo ra các trang lỗi tùy chỉnh nhằm nâng cao trải nghiệm người dùng, ngăn chặn việc truy cập vào những nội dung không mong muốn, đồng thời bổ sung thông tin tiêu đề và mô tả meta để cải thiện SEO.

III.5. Cấu hình server

Chỉnh sửa các thiết lập mặc định của máy chủ, kích hoạt những chức năng nâng cao, tùy chỉnh cấu hình ngôn ngữ theo nhu cầu, và cài đặt các mô-đun mở rộng nhằm cải thiện hiệu suất hoạt động của trang web.

Xin lưu ý rằng trước khi thực hiện bất kỳ thay đổi nào trong tệp .htaccess, điều quan trọng là bạn cần sao lưu tệp này cũng như toàn bộ trang web của mình nhằm tránh tình trạng mất dữ liệu.

file htaccess ltgseo vn

IV. Cách sử dụng file .htaccess

Cách sử dụng file .htaccess cũng khá là đơn giản, các bạn chỉ cần thực hiện một số thao tác đơn giản như chúng tôi hướng dẫn bên dưới là được:

IV.1. Hướng dẫn tạo file .htaccess

Để tạo tệp .htaccess, bạn có thể sử dụng một trình soạn thảo văn bản đơn giản như Notepad trên Windows hoặc TextEdit trên macOS.

Dưới đây là các bước cơ bản để tạo tệp htaccess:

Mở trình soạn thảo văn bản trên máy tính của bạn.

Tạo một tệp mới bằng cách chọn File -> New (hoặc nhấn Ctrl + N trên Windows hoặc Command + N trên macOS).

Lưu tệp với tên .htaccess (lưu ý có dấu chấm trước tên tệp). Trong hộp thoại lưu tệp, hãy chọn “Tất cả các tệp” để đảm bảo tệp được lưu với định dạng .htaccess thay vì .txt hoặc các định dạng khác.

Đặt tệp .htaccess vào thư mục gốc của trang web.

Sau khi đã tạo xong tệp .htaccess, bạn có thể thêm các quy tắc và chỉ thị vào tệp này để điều chỉnh và cấu hình các chức năng trên trang web của bạn.

IV.2. Hướng dẫn cấu hình file htaccess

Chuyển hướng (Redirect) được áp dụng để hướng người dùng từ một địa chỉ URL này sang một địa chỉ URL khác.

Viết lại (Rewrite) là kỹ thuật thay đổi cấu trúc của URL mà không làm thay đổi nội dung bên trong trang. Ví dụ: RewriteEngine On

Câu lệnh RewriteRule ^oldpage.html$ /newpage.html [R=301,L] sẽ chuyển hướng từ oldpage.html sang newpage.html.

Xác thực (Authentication) được sử dụng để kiểm tra quyền truy cập của người dùng vào trang web bằng cách yêu cầu nhập tên đăng nhập và mật khẩu. Ví dụ:

AuthType Basic

AuthName “Restricted Area”

AuthUserFile /path/to/.htpasswd

Require valid-user

Từ chối/cho phép (Deny/Allow) sử dụng các câu lệnh Deny và Allow để kiểm soát quyền truy cập từ các địa chỉ IP nhất định.

Nén dữ liệu (Compression) với cú pháp mod_deflate được ứng dụng để nén các tài nguyên trên trang nhằm giảm thiểu thời gian tải trang. Ví dụ: AddOutputFilterByType DEFLATE text/html text/plain text/xml

IV.3. Hướng dẫn cách chỉnh sửa file .htaccess

Để thực hiện việc chỉnh sửa file .htaccess, bạn cần sử dụng một trình soạn thảo văn bản như Notepad, Sublime Text hoặc bất kỳ công cụ nào khác. Dưới đây là hướng dẫn chi tiết.

Bước 1: Mở trình soạn thảo văn bản của bạn.

Bước 2: Tạo một tệp mới và lưu tệp với tên “htaccess” (không có phần mở rộng).

Bước 3: Tiếp theo, bạn có thể thêm các quy tắc RewriteRule hoặc các chỉ thị khác vào file .htaccess để cấu hình máy chủ web của mình.

Bước 4: Lưu lại file htaccess và tải lên máy chủ web của bạn. Lưu ý rằng file .htaccess cần được đặt trong thư mục gốc của trang web hoặc trong thư mục mà bạn muốn áp dụng cấu hình.

V. Các đoạn code tùy chỉnh file .htaccess

V.1. Bỏ hoặc thêm www vào tên miền

Việc có mặt của WWW đôi khi khiến tên miền của bạn trông giống như một subdomain. Các trang web sử dụng WWW thường mang lại cảm giác chuyên nghiệp, giống như các trang web công ty, trong khi những tên miền không có WWW lại có vẻ như là blog cá nhân. Tuy nhiên, WWW còn mang nhiều ý nghĩa hơn thế và có thể ảnh hưởng đến SEO, vì vậy bạn nên chú ý.

LTGSEO sẽ hướng dẫn bạn cách xóa hoặc thêm www vào URL của mình.

// Thêm WWW vào URL

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]

RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301]

// Không theme WWW vào URL

RewriteEngine On

RewriteBase /

RewriteCond %{HTTP_HOST} !^domain.com$ [NC]

RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]

V.2. Chuyển hướng đến trang thông báo lỗi riêng với file .htaccess

Trong môi trường web, có nhiều loại lỗi như 401, 403, 404, 500… Những lỗi này rất phổ biến. Nếu không thực hiện chuyển hướng, trình duyệt của người dùng sẽ nhận được một thông báo lỗi không đẹp mắt, thiếu tính chuyên nghiệp và gây cảm giác khó chịu.

Xem thêm bài viết  Index là gì? 6+ Cách Google lập chỉ mục nhanh chóng

Bạn có thể sử dụng file .htaccess để thiết lập việc chuyển hướng đến trang thông báo lỗi mà bạn đã chuẩn bị sẵn.

ErrorDocument 401 /error/401.php

ErrorDocument 403 /error/403.php

ErrorDocument 404 /error/404.php

ErrorDocument 500 /error/500.php

V.3. Chuyển hướng 301 (301 Redirect) đối với SEO

301 Redirect là một chủ đề đã được đề cập trong bài viết trước về tối ưu hóa SEO với phương pháp này. Đây được coi là giải pháp hiệu quả nhất để chuyển đổi tên miền hoặc di chuyển tập tin mà không làm giảm lượng truy cập cũng như thứ hạng tìm kiếm trên Google.

Việc thực hiện thao tác 301 Redirect có thể được thực hiện thông qua file .htaccess như sau:

// 1 Trang

Redirect 301 /old/old.htm http://domain.com/new.htm

// chuyển domain

RewriteEngine On

RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L

Hotlink là việc liên kết trực tiếp tới trang web của người khác để tải về các tệp tin như hình ảnh, video, tài liệu… Đây thường là phương án cho những blog chưa ổn định và cho những cá nhân có thói quen sao chép nội dung từ các trang web khác. Hình thức này có thể tiêu tốn một lượng băng thông lớn vì các trang khác truy cập trực tiếp vào máy chủ của bạn để lấy tệp tin.

Dưới đây là cách để bạn có thể ngăn chặn vấn đề này thông qua việc sử dụng file .htaccess.

Options +FollowSymlinks

#No hotlink

RewriteEngine On

RewriteCond %{HTTP_REFERER}!^$

RewriteCond %{HTTP_REFERER}!^http://(www.)?domain.com/[nc]

RewriteRule .*.(gif|jpg|png)$ http://domain.com/images/nohotlink.gif[nc]

V.5. Loại bỏ đuôi mở rộng của file web “.php”

Khi truy cập vào website, để có được địa chỉ URL đẹp mắt và chuyên nghiệp, cũng như nhằm mục đích ẩn đi công nghệ web đang sử dụng, bạn có thể áp dụng phương pháp này.

Hãy mở file .htaccess và nhập mã lệnh như sau:

RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]

V.6. Chuyển đổi đuôi .php sang .html trong URL

Công việc này khá dễ dàng thông qua file cấu hình .htaccess. Có nhiều lý do để thực hiện điều này, chẳng hạn như bạn muốn tăng cường bảo mật, đuôi .html có vẻ thẩm mỹ hơn so với .php, và để tối ưu hóa SEO…

Bạn có thể thực hiện như sau:

RewriteRule ^(.*).html$ $1.php [R=301,L]

V.7. Thêm ký tự “/” vào cuối URL

Khi tối ưu hóa URL trong mã nguồn WordPress, bạn sẽ nhận thấy sự xuất hiện của ký tự “/” ở cuối mỗi URL, điều này mang lại lợi ích cho SEO. Nó giúp ngăn chặn việc các công cụ tìm kiếm đánh giá nội dung là trùng lặp.

#Thêm / vào cuối URL

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_URI} !#

RewriteCond %{REQUEST_URI} !(.*)/$

RewriteRule ^(.*)$ http://domain.com/$1/ [L,R=301]

V.8. Ngăn IP truy cập vào trang web

Đôi khi, bạn có thể cần ngăn chặn một địa chỉ IP nhất định không cho phép truy cập vào trang web của mình vì lý do như spam quá mức, thường xuyên để lại bình luận không phù hợp, hoặc các hành vi cá biệt khác. Trong tình huống này, bạn có thể thực hiện việc đó thông qua việc chỉnh sửa tập tin .htaccess.

allow from all

deny from 192.168.1.123

deny from 192.168

V.9. Bảo vệ tệp tin trên máy chủ bằng .htaccess

Nếu bạn muốn nâng cao mức độ an toàn cho website của mình bằng cách ngăn chặn truy cập trực tiếp vào các tệp tin trên máy chủ, bạn có thể áp dụng phương pháp dưới đây. Phương pháp này sẽ trả về lỗi 403 cho trình duyệt.

# Bảo vệ file dùng .htaccess

<files .htaccess="">

order allow,deny

deny from all

</files>

V.10. Thiết lập mật khẩu cho thư mục và tập tin

Trong một số tình huống, nếu bạn muốn bảo mật các tập tin và thư mục khỏi sự truy cập bất hợp pháp, bạn có thể sử dụng file .htaccess và thực hiện các lệnh dưới đây.

#Đặt Pass cho thư mục

resides

AuthType basic

AuthName "Thư mục này đã được bảo vệ"

AuthUserFile /home/path/.htpasswd

AuthGroupFile /dev/null

Require valid-user

# Đặt Pass cho file

<files secure.php="">

AuthType Basic

AuthName "Prompt"

AuthUserFile /home/path/.htpasswd

Require valid-user

</files>

V.11. Thay thế dấu “_” bằng “-” trong URL

Dấu “_” và dấu “-” đều đóng vai trò là ký hiệu phân cách giúp người đọc dễ dàng nhận diện các từ khác nhau. Tuy nhiên, người dùng thường ưa chuộng dấu “-” hơn do nó mang lại cảm giác rõ ràng và dễ nhìn hơn, trong khi dấu “_” có xu hướng tạo cảm giác như một chuỗi liên tục. Hơn nữa, việc sử dụng dấu “-” cũng có thể mang lại lợi ích cho SEO.

Xem thêm bài viết  Google Analytics là gì? Cách dùng Google Analytics SEO 2025

Bạn có thể thực hiện chuyển đổi này theo cách sau:

Options +FollowSymLinks

RewriteEngine On

RewriteBase /

RewriteRule !.(html|php)$ - [S=4]

RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4-$5 [E=uscor:Yes]

RewriteRule ^([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4 [E=uscor:Yes]

RewriteRule ^([^_]*)_([^_]*)_(.*)$ $1-$2-$3 [E=uscor:Yes]

RewriteRule ^([^_]*)_(.*)$ $1-$2 [E=uscor:Yes]

RewriteCond %{ENV:uscor} ^Yes$

RewriteRule (.*) http://domain.com/$1 [R=301,L]

V.12. Thiết lập trang mặc định

Khi máy chủ không xác định được địa chỉ URL của trang đích, nó sẽ tự động hiển thị trang mặc định như index.php, index.html… Nếu bạn muốn thay đổi trang mặc định thành một trang khác, chẳng hạn như info.html, bạn có thể thực hiện cài đặt trong file .htaccess theo cách sau:

DirectoryIndex info.html

V.13. Kích hoạt tính năng nén file Gzip

Bạn có thể kích hoạt chức năng này, điều này rất quan trọng cho việc sao lưu dữ liệu nhằm tăng tốc độ tải và tránh mất mát. Bạn hãy chỉnh sửa file .htaccess và thực hiện theo hướng dẫn sau.

AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript

BrowserMatch ^Mozilla/4 gzip-only-text/html

BrowserMatch ^Mozilla/4.0[678] no-gzip

BrowserMatch bMSIE !no-gzip !gzip-only-text/html

V.14. Loại bỏ category trong URL

Có thể loại bỏ từ “category” trong URL của trang web WordPress một cách dễ dàng bằng cách thực hiện các thao tác trực tiếp trên tệp .htaccess.

RewriteRule ^category/(.+)$ http://domain.com/$1 [R=301,L]

V.15. Ngăn chặn truy cập vào file wp-config.php trong WordPress

Đây là một ứng dụng nhỏ nhưng cực kỳ quan trọng trong việc bảo vệ file đã đề cập. Như bạn đã biết, file wp-config.php trong WordPress đóng vai trò thiết yếu, chứa thông tin về tên người dùng, mật khẩu của cơ sở dữ liệu… Chúng ta sẽ thực hiện việc ngăn chặn truy cập vào trang này bằng cách như sau.

# Bảo mật file wpconfig.php

<files wp-config.php>

order allow,deny

deny from all

</files>

V.16. Hạn chế kích thước tệp tải lên

Việc này đóng vai trò quan trọng trong việc tiết kiệm tài nguyên của website bạn, giới hạn này sẽ giúp website hoạt động nhẹ nhàng hơn và tải nhanh hơn… hãy thêm đoạn mã sau vào file .htaccess.

# Giới hạn đến 10mb

LimitRequestBody 10240000

V.17. Loại bỏ danh mục trong đường dẫn website WordPress

Trong quá trình thực hiện tối ưu hóa SEO cho các trang web WordPress, việc loại bỏ /category hoặc /danh-muc khỏi URL của danh mục sẽ mang lại nhiều lợi ích. Điều này giúp đưa tên danh mục gần hơn với thư mục gốc.

Có nhiều phương pháp để thực hiện việc này, trong đó tệp htaccess là một trong những giải pháp hiệu quả. Bạn có thể chèn đoạn mã sau đây vào tệp của mình.

RewriteRule ^category/(.+)$ http://yoursite.com/$1 [R=301,L]

V.18. Thực hiện việc chuyển hướng từ tên miền cũ sang tên miền mới thông qua file .htaccess.

Khi bạn quyết định thay đổi một trang web sang một tên miền mới, một trong những yếu tố quan trọng là phải thực hiện việc chuyển hướng (redirect) từ tên miền cũ sang tên miền mới.

Nếu việc chuyển hướng được thực hiện chính xác, các trang trên tên miền cũ sẽ tự động chuyển đến đúng trang tương ứng trên tên miền mới. Ngược lại, nếu việc chuyển hướng sai lầm, bạn có thể mất đi lượng truy cập đáng kể cũng như giảm thứ hạng trên các công cụ tìm kiếm.

Bạn nên áp dụng phương pháp chuyển hướng này khi không thay đổi cấu trúc website (các trang và liên kết) mà chỉ thực hiện chuyển đổi tên miền. Với phương pháp này, bạn chỉ cần thêm một đoạn mã đơn giản vào tệp .htaccess trong thư mục gốc của tên miền cũ.

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www.olddomain.com$
  RewriteRule (.*)$ http://www.newdomain.com/$1 [R=301,L]
</IfModule>

V.19. Chuyển hướng http sang https bằng .htaccess trên Linux & cPanel

Vui lòng thêm đoạn mã dưới đây vào tệp htaccess của bạn.

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Lưu ý rằng không nên có hai dòng “RewriteEngine On” trong tệp htaccess.

Thông qua nội dung bài viết “File .htaccess là gì? Cách sử dụng File .htaccess” này, LTGSEO Agency hy vọng rằng các bạn đã có được những kiến thức sâu sắc hơn về file .htaccess, bao gồm khái niệm, công dụng, chức năng cũng như cách thức sử dụng file htaccess một cách hiệu quả. Chúc các bạn sẽ tận dụng tốt các tính năng mà .htaccess mang lại.