htaccess thần thánh – Config web với htaccess

Table of Contents

tập tin .htaccess này rồi, file .htaccess nằm ngay trong thư mục gốc của hostting cho phép bạn làm được nhiều việc mà bạn không thể ngờ đến, hôm nay mình sẽ chia sẻ cách mà bạn có thể sử dụng cơ bản file .htaccess này.

File .htaccess là gì?

Tập tin .htaccess ( hypertext access ) đây 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 đơn giả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 giả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.

1. 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 sub domain, 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.
/ Thêm WWW vào URL
     RewriteEngine On
     RewriteBase /
     RewriteCond %{HTTP_HOST} !^www.bcdonline.net$ [NC]
     RewriteRule ^(.*)$ http://www.bcdonline.net/$1 [L,R=301]
// Không theme WWW vào URL
     RewriteEngine On
     RewriteBase /
     RewriteCond %{HTTP_HOST} !^bcdonline.net$ [NC]
     RewriteRule ^(.*)$ http://bcdonline.net/$1 [L,R=301]

2. 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

3. 301 Redirect có lợi cho SEO

301 Redirect là vấn đề mà mình đã đề cập ở bài trước tối ưu seo với 301 Redirect, đâ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 http://domain/new.htm
// chuyển domain
RewriteEngine On
RewriteRule ^(.*)$ http://bcdonline.net/$1 [R=301,L]

4. 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 web mình, 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}!^http://(www.)?bcdonline.net/[nc]
RewriteRule .*.(gif|jpg|png)$ http://bcdonline.net/images/nohotlink.gif[nc]

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

Khi duyệt web mình muốn địa chỉ URL của mình phải đẹp, chuyên nghiệp, và đôi lúc muốn che giấu công nghệ web của mình đ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]

6. 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]

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

Mã nguồn WordPress khi bạn tối ưu URL cho nó xong thì bạn sẽ thấy được có dấu “/” ở sau mỗi URL, điều đó theo thiên hạ đồn 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 ^(.*)$ http://bcdonline.net/$1/ [L,R=301]

8. 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

9. 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
   <files .htaccess="">
        order allow,deny
        deny from all
   </files>
-->

10. Đặ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 của mình, 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
     <files secure.php="">
     AuthType Basic
     AuthName "Prompt"
     AuthUserFile /home/path/.htpasswd
     Require valid-user
</files>
-->

11. 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 ta 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://bcdonline.net/$1 [R=301,L]

12. 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 … 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

13. 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

14. Bỏ từ “category” ở URL

Hôm trước ở bài trước mình có chia sẻ blugin xóa từ category ở URL của website wordpress. Hôm nay chúng ta có thêm một cách nữa, là không phải dùng plugin mà có thể tương tác trực tiếp lên file .htaccess.
RewriteRule ^category/(.+)$ http://bcdonline.net/$1 [R=301,L]

15. 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
     <files wp-config.php>
     order allow,deny
     deny from all
</files>
-->

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 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 … theme vào trong file. htaccess đoạn code sau:
# Giới hạn đến 10mb
     LimitRequestBody 10240000

17. Bắt buộc dùng https

Để ép buộc client phải truy cập vào website bằng https, có thể dùng .htaccess để cập nhật như sau
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://yourdomain.com/$1 [R=301,L]

18. Tùy biến đuôi tập tin, dùng đoạn mã sau

RewriteEngine on
RewriteRule (.*).dll$ $1.html
Trong đó html là phần mở rộng thực sự của những tập tin, dll là phần mở rộng do chúng ta tự chọn.

Kết luận:

Như đã nói ở đầu, nếu bạn biết cách vận dụng tập tin .htaccess vào trong việc quản lý, tùy chỉnh WEB và host thì rất tuyệt vời, tiết kiệm công sức và hiệu quả thì mang lại rất cao. Chúc mọi người thành công!
Tham khảo:
http://www.webanddesigners.com/20-htaccess-hacks-to-prevent-your-wordpress-site-from-hacking/ https://secure.vinahost.vn/ac/knowledgebase/102/Cu-hinh-file-htaccess-c-bn-danh-cho-Hosting.html http://bcdonline.net/cach-su-dung-file-htaccess-cau-hinh-cho-web-host/
-soiqualang_chentreu- Sưu tầm.]]>


Warning: Undefined variable $comments_number in /shared/webdir2/dothanhlong.org/wp-content/themes/business-hub/comments.php on line 35

Warning: Undefined variable $comments_number in /shared/webdir2/dothanhlong.org/wp-content/themes/business-hub/comments.php on line 39
0 thoughts on “htaccess thần thánh – Config web với htaccess”

Leave a Reply

Your email address will not be published. Required fields are marked *