Mục lục [Ẩn]
- Htaccess là gì? File Htaccess nằm ở đâu?
- Rewritecond là gì và nó có ý nghĩa như thế nào đối với htaccess?
- Tác dụng của file htaccess và một số lưu ý
- 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
- Redirect đến trang thông báo lỗi riêng với file .htaccess
- Cài đặt 301 Redirect có lợi cho SEO
- Chặn hotlink với file .htaccess
- Bỏ đuôi mở rộng của file web “.php”
- Chuyển .php sang .html trong url
- Thêm dấu “/” vào cuối URL
- Cấm IP truy cập vào site
- Bảo vệ file trong host dùng .htaccess
- Đặt password cho thư mục và file
- Chuyển dấu “_” thành “-” trong URL
- Cài đặt lại trang mặc định
- Bật tính năng nén file Gzip
- Bỏ từ “category” ở URL cho website wordpress
- Không cho truy cập file wp-config.php của WordPress
- Giới hạn dung lượng file Upload
- Xóa category trong đường dẫn website WordPress
- Dùng .htaccess redirect tên miền cũ qua tên miền mới
- Redirect http qua https bằng .htaccess Đối với Linux & cPanel
- Kết Luận
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