Tin tức

htaccess là gì

  • Nguyễn Trọng Giảng
  • 18/11/2020, 02:13 pm
  • 23

Htaccess là một file có ở thư mục gốc của các hosting, đây là file có thể điều khiển, cấu hình được nhiều thứ với đa dạng thông số cũng như thay đổi được các giá trị được set mặc định của Apache. Hầu hết khi thao tác gì chúng ta cũng sẽ thấy có file htaccess, vậy htaccess là gì? Bài viết dưới đây sẽ cung cấp cho bạn những thông tin chi tiết nhất về file này và một số chức năng của file htaccess khi thực hiện một số thao tác.

Htaccess là gì? File Htaccess nằm ở đâu?

Htaccess là file có thể điều khiển, cấu hình được nhiều thứ với đa dạng thông số.

Htaccess là file dữ liệu được sử dụng với mục đích cấu hình máy chủ cho các website dạng Apache, máy chủ sẽ đọc dữ liệu trên tập tin này để cho phép người dùng điều hướng cũng như bật các tính năng một cách linh hoạt, bảo vệ một phần nào đó của website bạn đang sử dụng.

Htaccess là đuôi của tập tin nên khi bạn đưa một file lên host không hẳn lúc nào nó cũng hiển thị ra. Để thao tác với một file htaccess chuẩn bạn có thể sử dụng editor hỗ trợ code text. File .htaccess không được viết từ ngôn ngữ lập trình mà được viết bởi quy tắc Regular Expression nên bạn cần nắm vững kiến thức khi thao tác với .htaccess.

Rewritecond là gì và nó có ý nghĩa như thế nào đối với htaccess?

Rewritecond là một chỉ thị của Rewrite_module để viết Rewrite_module trong file .htaccess. Khi viết trong file .htaccess thì các Rewrite có hiệu lực trên thư mục đặt file đó và khi Apache truy cập đến bất kỳ thư mục con nào thì nó cũng tìm xem trong thư mục đó có file htaccess không để nạp vào.

Đối với những người có kiến thức không sâu sẽ không thể nắm được file htaccess nằm ở đâu? Tập tin Htaccess được đặt ngay tại thư mục gốc của hosting nên người dùng nhanh chóng tìm kiếm được ở trong thư mục gốc của họ.

Xem thêm: hosting wordpress giá rẻ

Tác dụng của file htaccess và một số lưu ý

File htaccess có liên quan đến rất nhiều vấn đề nhưng tác dụng chính của htaccess như sau.

+ Tăng tính bảo mật cho wordPress

WordPress là một trong những CMS lớn nhất hiện nay nên được hacker “chăm sóc” khá chu đáo. Giữ cho site an toàn là điều cực kỳ quan trọng, tuy nhiên bạn không cần phải là coder hay developer mà bạn có thể tận dụng file htaccess WordPress để tăng tính bảo mật cho WordPress.

+ Có thể xử lý request bất kỳ

Một file .htaccess mẫu có thể xử lý logic đối với request bất kỳ mà không cần phải tải lại web server. Việc thiết lập file .Htaccess cho phép admin toàn quyền chỉnh sửa mà không cần sử dụng đến toàn bộ config của Apache, bên cạnh đấy nhà cung cấp hosting có thể dễ dàng phân quyền access cho người sử dụng.

+ Những lưu ý khi sử dụng htaccess

Khi tạo file htaccess cũng như sử dụng file này bạn cần chú ý một số vấn đề như sau:

File .htaccess cần được bảo mật an toàn để tránh kẻ xấu lợi dụng nó.

Luôn có file .Htaccess Backup trong quá trình chỉnh sửa để có thể khôi phục lại nếu gặp bất cứ vấn đề nào xảy ra khi upload lên dữ web server.

Cần nắm rõ các kiến thức về htaccess để tránh việc website bị ngừng hoạt động hoặc hoạt động không đúng ý của người dùng

Hướng dẫn cấu hình một số chức năng thường hay sử dụng file .htaccess

Non www hoặc thêm www vào tên miền

// Thêm WWW vào URL

RewriteEngine On

RewriteBase /

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

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

// Không theme WWW vào URL

RewriteEngine On

RewriteBase /

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

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

Redirect đến trang thông báo lỗi riêng với file .htaccess

Trong web thì có nhiều lỗi như: 401, 403, 404, 500 … là các lỗi phổ biến, nếu không redirect nó sẽ trả về trình duyệt của người dùng một thông báo rất xấu xí, không chuyên nghiệp và tạo cảm giác khó chịu khi bị lỗi, bạn có thể dùng file .htaccess để chỉnh redirect đến trang thông báo lỗi mà bạn đã định sẳn.

ErrorDocument 401 /error/401.php

ErrorDocument 403 /error/403.php

ErrorDocument 404 /error/404.php

ErrorDocument 500 /error/500.php

Cài đặt 301 Redirect có lợi cho SEO

Đây là phương pháp được xem là tối ưu nhất cho việc chuyển tên miền hay chuyển file nào đó mà không mất về lượng truy cập cũng như về kết quả tìm kiếm trên google, thao tác 301 Redirect trên file .htaccess như sau:

// 1 Trang

Redirect 301 /old/old.htm https://domain.com/new.html

// chuyển domain

RewriteEngine On

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

Chặn hotlink với file .htaccess

Hotlink chính là link trực tiếp đến trang web của người khác lấy các file về sử dụng trên website, có thể là file hình ảnh, video, tài liệu … Hotlink là một giải pháp cho những blog tạm, không chắc chắn và những ai hay đi copy bài người viết của các trang web khác. Hotlink sẽ làm tốn một lượng băng thông rất lớn vì các site khác lấy file trực tiếp từ host của bạn. Sau đây là cách mà bạn ngăn chặn việc đó bằng file .htaccess

Options +FollowSymlinks

#No hotlink

RewriteEngine On

RewriteCond %{HTTP_REFERER}!^$

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

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

Bỏ đuôi mở rộng của file web “.php”

Khi duyệt website muốn địa chỉ URL phải đẹp, chuyên nghiệp, và đôi lúc muốn che giấu công nghệ web đang sử dụng cũng có thể áp dụng phương pháp này. bạn vào file .htaccess gõ mã lệnh như sau:

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

Chuyển .php sang .html trong url

Công việc này cũng khá đơn giản với file cấu hình .htaccess này, có một số lý do khiến bạn làm công việc này, đó là bạn muốn bảo mật, đuôi .html đẹp hơn .php, rồi để tối ưu SEO … bạn làm như sau:

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

Thêm dấu “/” vào cuối URL

Mã nguồn WordPress khi bạn tối ưu URL thì bạn sẽ thấy được có dấu “/” ở sau mỗi URL, điều đó là sẽ tốt cho SEO. Tránh bị các công cụ tìm kiếm cho là trùng lắp nội dung.

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

RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_URI} !#

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

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

Cấm IP truy cập vào site

Có đôi lúc bạn muốn cấm hẳn một IP nào đó không được truy cập vào site của bạn vì lý do nào đó như: spam quá mức, thường xuyên viết comment không đúng qui định, thành phần cá biệt … trong trường hợp này can thiệp vào tập tin .htaccess bạn cũng có thể làm được việc này.

allow from all

deny from 192.168.1.123

deny from 192.168

Bảo vệ file trong host dùng .htaccess

Bạn muốn tăng sự bảo mật cho trang web của bạn bằng cách bảo vệ các file, không cho phép truy cập trực tiếp vào các file trong host bạn có thể sử dụng cách sau, và cách này sẽ trả về lỗi 403 cho trình duyệt.

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

order allow,deny

deny from all

Đặt password cho thư mục và file

Trong một số trường hợp bạn muốn đặt mật khẩu cho file và thư mục, tránh sự truy cập trái phép của người khác bạn có thể dùng file .htaccess và gõ mã lệnh như sau:

#Đặ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

AuthType Basic

AuthName "Prompt"

AuthUserFile /home/path/.htpasswd

Require valid-user

Chuyển dấu “_” thành “-” trong URL

Dấu _ hay dấu – thì đều là dấu phân cách để hiểu được và phân biệt giữa chữ này với chữ kia tuy nhiên người xem lại thích dấu “-“hơn vì nó dễ nhìn và có cảm giác phân cách hơn dấu kia nhìn giống như một chuổi dài liên tục, mặt khác đâu “-” có thể sẽ có lợi cho SEO. bạn chuyển đổi bằng 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 (.*) https://domain.com/$1 [R=301,L]

Cài đặt lại trang mặc định

Hostting nhận trang mặc định chạy lên khi không rõ địa chỉ URL của trang đích thực là index.php, index.html … bây giờ bạn muốn chạy mặc định là trang khác ví dụ như trang info.html bạn có thể cài đặt trong file .htaccess như sau:

DirectoryIndex info.html

Bật tính năng nén file Gzip

Bạn có thể bật chức năng này lên, và rất quan trọng trong việc backup dữ liệu, mục đích để tải dữ liệu được nhanh chóng và tranh mất mát. bạn vào trong file .htaccess và làm như 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

Bỏ từ “category” ở URL cho website wordpress

Chúng ta có thể tương tác trực tiếp lên file .htaccess.

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

Không cho truy cập file wp-config.php của WordPress

Một ứng dụng nhỏ mà rất quan trọng trong việc bảo mật file đã đề cập ở trên. Trong WordPress bạn cũng biết là file wp-config.php rất quan trọng chứa thông số về database username, pass… mình sẽ cấp không cho truy cập trang bằng cách như sau:

# Bảo mật file wpconfig.php

order allow,deny

deny from all

Giới hạn dung lượng file Upload

Công việc này cũng quan trọng trong việc tiết kiệm tài nguyên website của bạn, việc giới hạn này sẽ làm cho web nhẹ nhàng hơn, load nhanh hơn … thêm vào trong file. htaccess đoạn code sau:

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

LimitRequestBody 10240000

Xóa category trong đường dẫn website WordPress

Khi thực hiện dịch vụ SEO trên các web wordpress nếu bỏ /category hoặc /danh-muc trên url category rất có lợi. Lúc này bạn đẩy tên danh mục về gần root.

Có nhiều cách để xóa trong đó htaccess là 1 trong những cách hiệu quả, bạn có thể chèn đoạn mã sau:

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

Dùng .htaccess redirect tên miền cũ qua tên miền mới

Khi bạn quyết định chuyển 1 website qua 1 tên miền mới thì 1 trong những điều quan trọng là phải điều hướng (redirect) tên miền cũ qua tên miền mới.

Nếu điều hướng đúng thì các trang ở tên miền cũ cũng sẽ được điều hướng qua đúng trang tương ứng trên tên miền mới. Nếu redirect sai thì đồng nghĩa bạn sẽ mất rất nhiều lượng truy cập cũng như rớt hàng trên công cụ tìm kiếm.

Bạn nên dùng cách điều hướng sau trong trường hợp bạn không thay đổi cấu trúc web (các trang và links) mà chi đơn giản chuyển đổi tên miền. Với cách này các bạn chỉ cần đơn gian thêm dòng code này vào file .htaccess nằm trong root của domain cũ.

  RewriteEngine On

  RewriteCond %{HTTP_HOST} ^olddomain.com$ [OR]

  RewriteCond %{HTTP_HOST} ^www.olddomain.com$

  RewriteRule (.*)$ https://www.newdomain.com/$1 [R=301,L]

Redirect http qua https bằng .htaccess Đối với Linux & cPanel

Các bạn thêm đoạn code bên dưới vào file htaccess

RewriteEngine On

RewriteCond %{HTTPS} off

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

Lưu ý không được có 2 dòng “RewriteEngine On” trong file htaccess

Kết Luận

Trên đây là một số chức năng mà htaccess đóng vai trò khá quan trọng trong đó, bạn có thể sử dụng nó một cách linh hoạt cấu hình cho website của mình sao cho tối ưu thân thiện nhất với người dùng chỉ với vài dòng lệnh đơn giản. Nếu không có thời gian để tìm hiểu hết về nó bạn hãy liên hệ đến đơn vị cung cấp hosting uy tín và chuyên nghiệp để được hỗ trợ và giúp bạn thực hiện các thao tác nếu muốn.

Nhân Hòa là một trong những công ty cung cấp hosting lớn và nổi tiếng hiện nay, với sự uy tín và cách làm việc chuyên nghiệp cùng đội ngũ công nghệ dày dặn kinh nghiệm sẽ giúp cho bạn sử dụng hosting hiệu quả và thực hiện các thao tác trên hệ thống một cách nhanh chóng và kịp thời. Mọi thắc mắc cũng như yêu cầu tìm hiểu về hosting, tên miền, vps hay các dịch vụ máy chủ khác bạn vui lòng liên hệ theo thông tin sau để được phục vụ nhanh chóng.

+ Tổng đài: 1900 6680

+ Website: https://nhanhoa.com/

+ Fanpage: https://www.facebook.com/nhanhoacom

+ Chỉ đường: https://g.page/nhanhoacom

Bài viết cùng chủ đề

Gọi miễn phí
Gọi miễn phí
Hệ thống đang xử lý .Quý khách vui lòng không tắt trình duyệt!
× Lổi!
×
×
Web Analytics