Trang chủ Kinh doanhKiến thức kinh doanh File .htaccess là gì, Hướng dẫn cách dùng file .htaccess

File .htaccess là gì, Hướng dẫn cách dùng file .htaccess

Tác giả: tranthang

File .htaccess là gì, Hướng dẫn cách dùng file .htaccess toàn tập

htaccess là gì

Tập tin .htaccess (hypertext access) là một file có ở thư mục gốc của các hostting và do apache quản lý, cấp quyền. File .htaccess có thể điều khiển, cấu hình được nhiều thứ với đa dạng các thông số, nó có thể thay đổi được các giá trị được set mặc định của apache.

Nếu được khai thác tốt thì. htaccess sẽ giúp được bạn rất nhiều việc mà tốn rất ít công sức của con người đơn thuần chi vài dòng lệnh là được. Cách thức mà bạn sử file. htaccess cũng thật đơn thuần cứ mở bằng một trình soạn thảo nào đó chỉnh sửa xong save as lại với thành file. htaccess là xong .

Bỏ hoặc thêm www vào domain:

WWW lúc đầu khi nhìn vào thì cho thấy domain mình như là một subdomain, bạn nhìn website WWW thường là website công ty, mang một phong cách chuyên nghiệp, còn không có WWW thấy nó như một blog, các nhân … tuy nhiên WWW nó mang một ý nghĩa sâu xa hơn nhiều, và sẽ ảnh hưởng đến SEO nên bạn quan tâm. Ở đây mình chỉ giới thiệu cách để bạn theme vào xóa www trong URL. Nếu bạn quan tâm SEO, bạn có thể tìm hiểu SEO là gì?

// 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]

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à những lỗi thông dụng, nếu không redirect nó sẽ trả về trình duyệt của người dùng một thông tin rất xấu xí, không chuyên nghiệp và tạo cảm xúc không dễ chịu khi bị lỗi, bạn hoàn toàn có thể dùng file. htaccess để chỉnh redirect đến trang thông tin 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

301 Redirect là yếu tố mà mình đã đề cập ở bài trước tối ưu seo với 301 Redirect, đây là chiêu thức đượ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 vấn cũng như về hiệu 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 http://domain.com/new.htm

// chuyển domain

RewriteEngine On

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

Hotlink chính là link trực tiếp đến website của người khác lấy những file về sử dụng trên website, hoàn toàn 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 như đinh và những ai hay đi copy bài người viết của những website khác. Hotlink sẽ làm tốn một lượng băng thông rất lớn vì những 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 ngừa việc đó bằ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]

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ệ tiên tiến web đang sử dụng cũng hoàn toàn có thể vận dụng giải 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 thuần với file thông số kỹ thuật. htaccess này, có một số ít nguyên do khiến bạn làm việc làm này, đó là bạn muốn bảo mật thông tin, đ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ị những 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 ^(.*)$ http://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 vấn vào site của bạn vì nguyên do nào đó như : spam quá mức, liên tục viết comment không đúng qui định, thành phần riêng biệt … trong trường hợp này can thiệp vào tập tin. htaccess bạn cũng hoàn toàn 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 thông tin cho website của bạn bằng cách bảo vệ những file, không được cho phép truy vấn trực tiếp vào những file trong host bạn hoàn toà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ố ít trường hợp bạn muốn đặt mật khẩu cho file và thư mục, tránh sự truy vấn trái phép của người khác bạn hoàn toà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 (.*) http://domain.com/$1 [R=301,L]

Set 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 … giờ đây bạn muốn chạy mặc định là trang khác ví dụ như trang info.html bạn hoàn toàn có thể setup trong file. htaccess như sau :

DirectoryIndex info.html

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

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

14. Bỏ từ “category” ở URL:

Hôm trước ở bài trước mình có san sẻ blugin xóa từ category ở URL của website WordPress. Hôm nay tất cả chúng ta có thêm một cách nữa, là không phải dùng plugin mà hoàn toàn có thể tương tác trực tiếp lên file. htaccess .

RewriteRule ^category/(.+)$ http://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 thông tin 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ố kỹ thuật về database username, pass … mình sẽ cấp không cho truy vấn trang bằng cách như sau :

# Bảo mật file wpconfig.php



order allow,deny

deny from all



16. Giới hạn file Upload:

Công việc này cũng quan trọng trong việc tiết kiệm chi phí tài nguyên website của bạn, việc số lượng 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 suất cao, bạn hoàn toàn có thể chèn đoạn mã sau :

RewriteRule ^category/(.+)$ http://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 hành động chuyển 1 website qua 1 tên miền mới thì 1 trong những điềuquan 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ì những 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 tương quan bạn sẽ mất rất nhiều lượng truy vấn 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 (.*)$ http://www.newdomain.com/$1 [R=301,L]

Redirect http qua https bằng. htaccess Đối với Linux và 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

Xem thêm:

Bài viết liên quan

Tham gia bình luận