File .htaccess là một file rất quyền năng đối với website, nó có khả năng thay đổi rất nhiều thứ. Bài này tôi sẽ hướng dẫn các bạn cách dùng redirect 301 trong .htaccess. Hãy chắn chắn webserver của bạn chạy Apache hỗ trợ mod_rewrite.
1.Chuyển hướng tên miền
Khi bạn muốn khi truy cập vào website của bạn nó sẽ chuyển hướng sang một tên miền khác.
RewriteEngine on
RewriteRule (.*) http://tênmiền.com/ [R=301,L]
2.Chuyển hướng trang web
Khi bạn muốn chuyển hướng mọi trang web nằm trong 1 thư mục sang 1 trang web khác.
VD: Thư mục Game bạn ko dùng nữa và trong đó có rất nhiều trang web, bạn muốn chuyển hướng mọi trang web trong thư mục game sang trang game.php
RewriteEngine on RewriteRule ^game(.*)$ /game.php [L,R=301]
3.Chuyển hướng file
Bạn muốn chuyển hướng 1 file nào đó sang 1 file mới, VD truy cập old.php sẽ nhảy sang new.php.
Redirect 301 /old.php /new.php
4.Chuyển hướng www hoặc non www.
Bạn muốn chuyển tên miền của bạn về dạng www.tên miền .com, hoặc ko muốn có www thì bạn bỏ www trong đoạn dưới đi.
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www.tênmiền.com$ [NC] RewriteRule ^(.*)$ http://www.tênmiền.com/ [R=301,L]
5.Chuyển đuôi mở rộng từ .php sang .html
Bạn muốn chuyển đuôi từ .php sang .html để phục vụ mục đích SEO hay đơn giản là ko thích cái đuôi .php.
RewriteRule ^(.*).html$ .php [R=301,L]
6.Bảo vệ tài nguyên web
Khi bạn có 1 video hay clip nào đó hay nhiều người xem, các web khác sẽ câu về hiển thị trên web của họ, web bạn ko dc lượt truy cập nhưng băng thông vẫn mất. Bạn muốn tài nguyên đó ko hiển thị ở web khác.
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?tênmiền.com/.*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]