.htaccess là gì ? Cách dùng file .htaccess hỗ trợ Onpage toàn tập từ A-Z

Tìm hiểu file .htaccess

File .htaccess là gì ?

File. htaccess là một tập tin thông số kỹ thuật mà tác động ảnh hưởng đến cách một sever web cung ứng những nhu yếu khác nhau. Nó được tương hỗ bởi 1 số ít sever web, trong đó có Apache phổ cập được sử dụng bởi những nhà sản xuất dịch vụ tàng trữ web thương mại, được cho phép tất cả chúng ta triển khai điều hướng và bật những tính năng một cách linh động hoặc bảo vệ tài liệu tệp tin nào đó .

.htaccess là gì

Nhìn vào “ định nghĩa ” về file. htaccess bạn đã gần như thấy được điều mình muốn. . htaccess chính là nơi tàng trữ những hành vi điều hướng URL trên site. Nếu như bạn am hiểu về. htaccess … à mà không khi đọc hết bài viết này chắc như đinh bạn sẽ hiểu hết về nó thôi, bạn sẽ thấy file. htaccess có tác dụng “ thần thánh ” mà công sức của con người bạn bỏ ra chỉ .. vài dòng lệnh .

Xem thêm:

File .htaccess nằm ở đâu ?

Tập tin. htaccess nằm ngang hàng với thư mục gốc ( thường là public_html, www, … ) và file robots.txt. Các bạn mở host, tìm theo đường dẫn sau :

  • Đối với host DirectAdmin, bạn tìm theo đường dẫn: File → public_html → .htaccess

.htaccess với host directAdmin

  • Đối với host Cpanel, bạn tìm theo đường dẫn: File manager → Public_html → .htaccess

.htaccess với host Cpanel

Tôi không tìm thấy file .htaccess trong tập tin ?

Trên hầu hết những trình quản trị mạng lưới hệ thống tệp tin của hosting, tên tệp mở màn bằng dấu chấm (. ) là những tệp bị ẩn. Điều này có nghĩa là chúng thường không hiển thị theo mặc định vì nguyên do bảo mật thông tin. Các bạn chỉ cần vào phần setting → tích chọn show hidden thư mục ( Hiển thị tệp tin ẩn ) hoặc show system files là xong .

cách hiển thị tập tin .htaccess

Tôi không có file .htaccess thì sao ?

Bạn chọn vào phần tệp → tạo tệp mới và đặt tên là. htaccess sau đó save lại. Bạn cũng hoàn toàn có thể tạo 1 tập tin trên máy tính rồi lưu dưới tên. htaccess rồi upload file lên thư mục gốc ( ngang hàng với robots.txt ) .

tạo file .htaccess

Sau khi có file rồi, bạn triển khai mở lên và chèn đoạn code mặc định này vào :

# BEGIN WordPress 

RewriteRule ^index\.php$ – [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule. /index.php [L]

# END WordPress

Chức năng “thần thánh” của .htaccess

Đi vào trọng tâm, tôi sẽ hướng dẫn những bạn tổng hợp những công dụng mà. htaccess mang lại .

Chuyển hướng www và non – www về một phiên bản

Hai phiên bản www và non-www được google tính là hai domain khác nhau. Dó đó ảnh hưởng tác động rất lớn đến hiệu quả SEO. Bạn chỉ nên để một trong hai phiên bản mà thôi. Để chuyển hướng về phiên bản www, bạn thêm đoạn code sau :

RewriteEngine On

RewriteBase /

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

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

Nếu như không muốn dùng www, bạn thêm đoạn code sau:

RewriteEngine On

RewriteBase /

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

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

Xử lý lỗi 4xx hoặc 5xx redirect đến trang lỗi tùy chỉnh

Trong quy trình quản lý và vận hành website sẽ không tránh khỏi những lỗi như :
Các lỗi cơ bản từ người dùng
401 : nhu yếu ủy quyền
403 : Không được cho phép truy vấn
404 : Nội dung không sống sót / đã xóa
405 : Phương thức nhập sai
Các lỗi cơ bản từ server
500 : lỗi sever nội bộ
503 : Dịch Vụ Thương Mại không khả dụng
504 : Hết thời hạn chờ
505 : Phiên bản HTTP không được tương hỗ

Bạn có thể tận dụng chức năng direct về các trang thông báo lỗi đã thiết kế sẵn bằng đoạn code sau:
ErrorDocument 401 /error/401.php

ErrorDocument 403 / error / 403.php
ErrorDocument 404 / error / 404.php
ErrorDocument 405 / error / 405.php
ErrorDocument 500 / error / 500.php
ErrorDocument 503 / error / 503.php
ErrorDocument 504 / error / 504.php
ErrorDocument 505 / error / 505.php

Đặt mật khẩu cho thư mục hoặc file

Bạn muốn bảo vệ một số folder hoặc file riêng quan trọng, thêm đoạn mã code sau:
#Đặt Pass cho thư mục

resides

AuthType basic

AuthName "Mục này đã khóa"

AuthUserFile /home/path/.htpasswd

AuthGroupFile /dev/null

Require valid-user

# SETUP mật khẩu

AuthType Basic

AuthName "Prompt"

AuthUserFile /home/path/.htpasswd

Require valid-user

Thay đổi đuôi đường dẫn

Khi truy vấn vào 1 số ít website, bạn hay thấy có những đuôi lan rộng ra như :. php ,. html … Điều này không ảnh hưởng tác động gì lớn đến SEO nhưng bỏ đi sẽ nhìn chuyên nghiệp hơn, url trở nên ngắn gọn hơn. Hoặc nếu bạn muốn hiển thị đuôi. html cho đẹp hơn, hãy làm theo cách sau :

  • Bỏ đuôi .php khỏi đường dẫn
    RewriteRule ^(([^/]+/)*[^.]+)$ /$1.php [L]
  • Bỏ đuôi html khỏi đường dẫn
    RewriteRule ^(([^/]+/)*[^.]+)$ /$1.html [L]
  • Đưa từ khóa chính của sản phẩm lên Url

Một SEOer chuyên nghiệp phải biết khôn khéo đưa từ khóa chính lên trên URL.Tôi lấy một ví dụ : tenmien.com/product.php?id=12. Giờ bạn muốn đổi nó lại thành : tenmien.com/product/ipod-nano/12.html, bạn làm như sau :

RewriteEngine on

RewriteRule ^product/([a-zA-Z0-9_-]+)/([0-9]+).html$ product.php?id=$2

  • Đổi đuôi .php sang đuôi .html vào đường dẫn
    RewriteRule ^(.*)\.html$ $1.php [R=301,L]

Tạo chuyển hướng 301 cực mạnh

Khi bạn muốn chuyển hướng hàng loạt website cũ sang website mới, hoặc chuyển hướng bài viết cũ sang bài viết mới thì redirect 301 là một giải pháp được coi là tối ưu nhất. Chuyển hướng 301 vừa giúp cho bạn điều hướng url không mất tài liệu mà tác dụng tìm kiếm của google vẫn được bảo vệ. Để triển khai điều này, bạn làm theo hướng dẫn sau :

  • Để chuyển toàn bộ tên miền:

RewriteEngine On

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

  • Để chuyển 1 trang cụ thể: ví dụ bạn cần chuyển một bài cũ là: http://tenmien.com/danh-muc-cu/bai-viet-cu.htm sang bài mới là: http://tenmien.com/bai-viet-moi.htm, bạn thêm đoạn code sau:

Redirect 301 /danh-muc-cu/bai-viet-cu.htm http://tenmien.com/bai-viet-moi.htm

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

Tính năng này giúp tài nguyên website của bạn sẽ nén lại trên server trước khi gửi đến người dùng. Qua đó giúp cho quy trình tải trang được nhanh hơn. Thực hiện thêm đoạn code sau vào. htaccess :

## EXPIRES CACHING ##

ExpiresActive On

ExpiresByType image/jpg "access plus 1 month"

ExpiresByType image/jpeg "access plus 1 month"

ExpiresByType image/gif "access plus 1 month"

ExpiresByType image/png "access plus 1 month"

ExpiresByType text/css "access plus 1 month"

ExpiresByType application/pdf "access plus 1 month"

ExpiresByType text/x-javascript "access plus 1 month"

ExpiresByType application/javascript "access plus 1 month"

ExpiresByType application/x-javascript "access plus 1 month"

ExpiresByType application/x-shockwave-flash "access plus 1 month"

ExpiresByType image/x-icon "access plus 1 year"

ExpiresDefault "access plus 2 days"

## EXPIRES CACHING ##

# 1 Month for all your static assets

Header set Cache-Control "max-age=2592000, public"

# 1 DAYS for rss feeds and robots

Header set Cache-Control "max-age=86400, public, must-revalidate"

# 4 HOURS for your real articles files

Header set Cache-Control "max-age=14400, must-revalidate"

# compress text, html, javascript, css, xml:

AddOutputFilterByType DEFLATE text/plain

AddOutputFilterByType DEFLATE text/html

AddOutputFilterByType DEFLATE text/xml

AddOutputFilterByType DEFLATE text/css

AddOutputFilterByType DEFLATE application/xml

AddOutputFilterByType DEFLATE application/xhtml+xml

AddOutputFilterByType DEFLATE application/rss+xml

AddOutputFilterByType DEFLATE application/javascript

AddOutputFilterByType DEFLATE application/x-javascript

AddType x-font/otf .otf

AddType x-font/ttf .ttf

AddType x-font/eot .eot

AddType x-font/woff .woff

AddType image/x-icon .ico

AddType image/png .png

Sau khi bật nén xong, bạn hoàn toàn có thể vào công cụ PageSpeed Insights của google để xem tính năng này đã được bật trên website của bạn chưa .

Bật nén gzip với .htaccess

Xem thêm : GZIP trong Joomla

Bảo mật file wp-config trên wordpress

File wp-config.php là một file rất quan trọng trong nền tảng WordPress. File này chứa những thông tin gồm có : Database, localhost, username. password …. Bạn hoàn toàn có thể bảo mật thông tin file này bằng cách đặt mật khẩu cho nó qua đoạn code sau :

order allow,deny

deny from all

Chuyển hướng http sang https và ngược lại

  • Để chuyển http sang https, bạn chèn code này vào .htaccess như sau:
    RewriteEngine on

RewriteCond %{HTTPS} !=on [NC]

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

Note : file. htaccess chỉ được sống sót 1 dòng RewriteEngine on mà thôi. nếu như đã có rồi thì bạn không cho vào nữa nhé .

  • Để chuyển ngược lại:
    RewriteEngine On

RewriteCond %{HTTPS} on

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

Cấm ip truy cập vào trang web của bạn

Đôi khi bạn thấy những ip truy vấn vào web của bạn một cách “ quá đà ”, đốt sạch dung tích băng thông của bạn. Hay nói đúng chuẩn là mấy thằng spam vào web bạn. Đã có cách xử lý như sau :

ORDER ALLOW,DENY

DENY FROM 192.168.1.1

DENY FROM 234.45.67.89

DENY FROM 123.45.67.89

ALLOW FROM ALL

Nếu như muốn chặn 1 dải IP, làm như sau :

ORDER ALLOW,DENY

DENY FROM 192.168.

DENY FROM 123.0.0.

ALLOW FROM ALL

Các thông số kỹ thuật IP những bạn thay bằng IP xác lập spam web của bạn .

Bạn hoàn toàn có thể chống lại việc bị bandwidth bằng cách thêm đoạn code sau :
RewriteCond % { HTTP_REFERER } ! ^ http://(www\.)?tenmien.com(/)?.*$ [ NC ]
RewriteCond % { HTTP_REFERER } ! ^ http://(www\.)?chophep.tenmien.com(/)?.*$ [ NC ]
RewriteRule. * \. ( gif | jpg | jpeg | bmp | png | js | css | html | htm ) USD http://tenmien.com/images/canhbao.png [ R, NC ]
Phần màu hồng nghĩa là được cho phép bạn đặt nhiều domain. Bạn hoàn toàn có thể ghi địa chỉ trang domain của mình và những trang domain được cho phép dùng chung .
Phần màu lục là phần lan rộng ra của tập tin mà bạn muốn không bị hotlink .
Phần màu lam là ảnh bạn phong cách thiết kế ra để tạo ra thông tin hiển thị nếu có website khác đặt hotlink .

Chọn trang mặc định

Thông thường những hosting sẽ mặc định chạy những trang như : index.html, home.html, index.php … Tuy nhiên nếu bạn muốn set lại trang khác làm trang mặc định ? Đơn giản thôi !
Hãy thêm đoạn code này vào :

DirectoryIndex default.html

Với default là tên của trang mặc định .

Chuyển đổi thư mục này sang thư mục khác

Bạn có 1 Url là : https://final-blade.com/seo-len-dinh và bạn muốn chuyển nó thành https://final-blade.com/dich-vu-seo. Hãy thực thi thêm đoạn code này vào. htaccess :

Redirect 301 /seo-len-dinh/https://final-blade.com/dich-vu-seo

Khi bạn mở một link từ facebook, bạn có thấy url nó thêm đoạn ?fbclid=abcxyz… không ? Tôi sẽ chỉ cho bạn cách xóa cái đuôi loằng ngoằng đó. Thực ra thì làm việc này hay không cũng không sao cả,chẳng ảnh hưởng gì đến việc SEO đâu! Chẳng qua muốn copy Url mang đi đâu đó nhìn đỡ dài và đỡ nhầm thôi!
RewriteBase /

RewriteCond %{QUERY_STRING} "fbclid=" [NC]

RewriteRule (.*) /$1? [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule. /index.php [L]

Xóa một phần tử trong đường dẫn

Cái này hay ho này ! Bạn có một url như sau : https://final-blade.com/seo/8-cong-cu-nghien-cu-tu-khoa-mien-phi.html
và bạn muốn xóa cái thằng hạng mục seo cho nó ngắn gọn hơn thành : https://final-blade.com/8-cong-cu-nghien-cu-tu-khoa-mien-phi.html mà không muốn bị ảnh hưởng tác động gì ? Cách làm như sau :

RewriteRule ^seo(.+)$ https://final-blade.com$1 [R=301,L]

Done !

Chuyển hướng AMP khi không dùng nữa

Công cụ AMP của google được cho phép web của bạn load nhanh như gió trên những thiết bị di động. Nhưng nếu như bạn không sử dụng nữa và tắt plugin đi thì những url của bạn chưa đưa về trang đích ngay đâu, mà phải làm thế này :

  • Đối với các bài viết:

RewriteEngine On

RewriteCond% {REQUEST_URI} (. +) / amp (. *) $

RewriteRule ^% 1 / [R = 301, L]

  • Đối với toàn trang:

rewrite ^ / (. *) \ / amp http://tenmien.com/$1 permanently;

Một số lưu ý khi sử dụng file .htaccess

  • Trong file .htaccess chỉ có duy nhất một dòng RewriteEngine On mà thôi. Thế nên trước khi thêm đoạn code mới nào nhớ Ctr + F để kiểm tra xem có đoạn mã kia chưa rồi hãy thêm nhé!
  • File .htaccess là một file quan trọng, do đó cần phải được bảo mật cẩn thận, tránh để bị người khác vào sửa linh tinh
  • Trước khi chỉnh sửa thêm bớt cái gì, tiến hành tạo backup chép toàn bộ nội dung của thằng .htaccess ra chỗ khác, để nếu sai thì restore lại. File htaccess nếu như cấu hình sai có thể khiến toàn bộ website không hoạt động được hoặc hoạt động không đúng ý.
  • Hết !