Đôi khi bạn cần chuyển hướng link 301 ( Chuyển hướng vĩnh viễn link ) để cần thiết cho một số trường hợp đặt biệt khi đổi đường dẫn tĩnh hoặc chuyển vĩnh viễn link web cũ sang link web mới.
Hôm nay mình sẽ chia sẻ cho các bạn các cách chuyển link 301 bằng Htaccess .
Tệp .htaccess là gì?
Tệp .htaccess hoặc Hypertext Access là một tệp văn bản cấu hình điều khiển thư mục, cũng như bất kỳ thư mục con nào, nó nằm trên máy chủ web Apache. Nếu bạn sử dụng gói lưu trữ web dựa trên Linux, thuộc tính web của bạn có thể chạy trên Apache. Bạn có thể đã thấy tệp .htaccess trong các thư mục nhất định, đặc biệt nếu bạn đã triển khai WordPress, Joomla, Drupal hoặc bất kỳ phần mềm web quản lý nội dung nào khác.
Tệp .htaccess có thể bao gồm các hướng dẫn cụ thể cho máy chủ. Tệp này có thể cấu hình máy chủ để yêu cầu mật khẩu cho thư mục chứa nó. Tệp .htaccess cũng có thể được định cấu hình để tự động chuyển hướng người dùng đến một tệp hoặc trang chỉ mục khác, hạn chế hoặc cho phép người dùng dựa trên địa chỉ IP và tắt danh sách thư mục. Bạn có thể không bao giờ cần chỉnh sửa tệp .htaccess, nhưng nếu bạn làm như vậy, bạn phải đảm bảo rằng tệp được đặt tên là “.htaccess”, với khoảng thời gian ở phía trước và không có đuôi tệp .txt hoặc .htm.
Làm cách nào để bạn chuyển hướng một trang?
Ví dụ trang bạn tạo là domain.com/quy-dinh-su-dung.php mà muốn chuyển thành domain.com/quy-dinh-su-dung.html thì:
Redirect 301 /quy-dinh-su-dung.php http://www.domain.com/quy-dính-su-dung.html
http://www.domain.com có thể sửa thành domain của bạn, nếu bạn không sử dụng www có thể bỏ đi dòng này.
Làm cách nào để chuyển hướng toàn bộ trang web hoặc tên miền sang trang web hoặc miền mới?
Đôi khi bạn đổi domain cho đẹp thì đây là cách để chuyển toàn bộ link web cũ sang link web mới – cấu trúc link bài viết web cũ đã chuyển hết qua web mới trước nhé.
Redirect 301 / http://www.domain.com/
Làm thế nào để bạn chuyển hướng toàn bộ một trang web vào một thư mục con:
Ví dụ bạn cần chuyển tất cả các link dạng domain.com/bài viết thành domain.com/user/bài viết với user là thư mục bạn cần chuyển .
Redirect 301 / http://www.domain.com/user/
Làm thế nào để bạn chuyển hướng đến subdomain:
Ví dụ bạn có link web cũ là : domain.com thành subdomain.domain.com
Redirect 301 /subdomain http://www.domain.com/
Làm thế nào để bạn chuyển hướng link web sang đuôi khác nhưng giữ lại tên trang?
Ví dụ: Nếu bạn muốn : domain.com/baiviet.html thành domain.com/baiviet.php
RedirectMatch 301 (.*).html$ http://www.domain.com$1.php
Làm thế nào để bạn sử dụng tên bài viết cũ để chuyển hướng từ miền cũ sang tên miền mới?
Ví dụ: hiện tại domain : hocban.vn đổi sang tinhdeptrai.vn thì đây là cách bác tịnh nên làm để chuyển tất cả bài viết cũ sang bài viết mới mà không mất link
RewriteEngine on RewriteBase / RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
đỏi http://ww.newdomain.com thành link domain mới của bạn.
Làm thế nào để bạn sử dụng link bài viết cũ để chuyển hướng từ một tên miền phụ không www đến www?
Ví dụ: chuyển https://hocban.vn thành https://hocban.vn
RewriteEngine on RewriteBase / rewritecond %{http_host} ^domain.com [nc] rewriterule ^(.*)$ http://www.domain.com/$1 [r=301,nc]
Làm thế nào để bạn sử dụng viết lại để chuyển hướng một tên miền đến vị trí www với thư mục con?
RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} domain.com [NC] RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]
Làm thế nào để bạn sử dụng viết lại để chuyển hướng từ một miền cũ sang tên miền mới bao gồm đường dẫn đầy đủ và chuỗi truy vấn?
Options +FollowSymLinks RewriteEngine On RewriteRule ^(.*) http://www.newdomain.com%{REQUEST_URI} [R=302,NC]
Làm thế nào để bạn sử dụng viết lại để chuyển hướng từ một tên miền cũ với một thư mục con đến tên miền mới mà không có thư mục con, nhưng bao gồm đường dẫn đầy đủ và chuỗi truy vấn?
Ví dụ: chuyển từ: user.hocban.vn thành hocban.vn
các link dưới tùy theo web bạn mà thay đổi lại
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_URI} ^/user/(.*)$ RewriteRule ^(.*) https://hocban.vn/%1 [R=302,NC]
Làm thế nào để bạn viết lại và chuyển hướng URL với các tham số truy vấn với các tệp được đặt trong thư mục gốc?
Ví dụ: URL gốc là https://hocban.vn/index.php?id=3 và URL mới là https://hocban.vn/path-to-new-location/
RewriteEngine trên RewriteCond% {QUERY_STRING} id = 3 RewriteRule ^ index.php $ / path-to-new-location /? [L, R = 301]
Có những quy tắc chuyển hướng htaccess 301 phổ biến mà tôi thấy mình đang tìm kiếm mỗi khi tôi xây dựng một trang web cho một khách hàng hoặc trợ giúp với một kế hoạch chuyển tiếp trang web khởi chạy lại . Vì vậy, tôi nghĩ rằng tôi sẽ tạo ra một nguồn tài nguyên mà tôi thấy hữu ích, nơi tôi có thể thu thập tất cả các quy tắc chung vào một chỗ để tiết kiệm thời gian cho mỗi dự án.
Quy tắc Htaccess chuyển hướng 301 phổ biến
Làm cách nào để bạn chuyển hướng một trang?
Chuyển hướng 301 /pagename.php http://www.domain.com/pagename.html
Làm cách nào để chuyển hướng toàn bộ trang web hoặc tên miền sang trang web hoặc miền mới?
Chuyển hướng 301 / http://www.domain.com/
Làm thế nào để bạn chuyển hướng toàn bộ một trang web vào một thư mục con?
Chuyển hướng 301 / http://www.domain.com/subfolder/
Làm thế nào để bạn chuyển hướng một thư mục con đến trang web khác nhau?
Chuyển hướng 301 / thư mục con http://www.domain.com/
Làm thế nào để bạn chuyển hướng một phần mở rộng tập tin nhưng giữ lại tên trang?
Ví dụ: Nếu bạn muốn một phần mở rộng .html sử dụng cùng tên tệp nhưng sử dụng phần mở rộng .php.
RedirectMatch 301 (. *). Html $ http: //www.domain.com$1.php
Làm thế nào để bạn sử dụng viết lại để chuyển hướng từ miền cũ sang tên miền mới?
RewriteEngine trên RewriteBase / RewriteRule (. *) Http://www.newdomain.com/$1 [R = 301, L]
Làm thế nào để bạn sử dụng viết lại để chuyển hướng từ một tên miền phụ không www đến www?
RewriteEngine trên RewriteBase / rewritecond% {http_host} ^ domain.com [nc] rewriterule ^ (. *) $ Http://www.domain.com/$1 [r = 301, nc]
Làm thế nào để bạn sử dụng viết lại để chuyển hướng một tên miền đến vị trí www với thư mục con?
RewriteEngine trên RewriteBase / RewriteCond% {HTTP_HOST} domain.com [NC] RewriteRule ^ (. *) $ Http://www.domain.com/directory/index.html [R = 301, NC]
Làm thế nào để bạn sử dụng viết lại để chuyển hướng từ một miền cũ sang tên miền mới bao gồm đường dẫn đầy đủ và chuỗi truy vấn?
Tùy chọn + FollowSymLinks RewriteEngine Trên RewriteRule ^ (. *) Http: //www.newdomain.com% {REQUEST_URI} [R = 302, NC]
Làm thế nào để bạn sử dụng viết lại để chuyển hướng từ một tên miền cũ với một thư mục con đến tên miền mới mà không có thư mục con, nhưng bao gồm đường dẫn đầy đủ và chuỗi truy vấn?
Tùy chọn + FollowSymLinks RewriteEngine Trên RewriteCond% {REQUEST_URI} ^ / subdirname /(.*)$ RewriteRule ^ (. *) Http://www.katcode.com/%1 [R = 302, NC]
Làm thế nào để bạn viết lại và chuyển hướng URL với các tham số truy vấn với các tệp được đặt trong thư mục gốc?
Ví dụ: URL gốc là http://www.website.com/index.php?id=3 và URL mới là http://www.website.com/path-to-new-location/
RewriteEngine trên RewriteCond% {QUERY_STRING} id = 3 RewriteRule ^ index.php $ / path-to-new-location /? [L, R = 301]
Làm cách nào để chuyển hướng trang web sang HTTPS từ HTTP để loại bỏ nội dung trùng lặp?
Cách này đổi link dạng http://domain – thành https:domain
RewriteEngine on RewriteCond %{HTTPS} on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Cách này chuyển ngược lại từ http sang https
RewriteEngine On RewriteCond %{HTTPS} on RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI}
Làm thế nào để bạn chuyển hướng một trang web cũ đến một tên miền mới và giữ lại đường dẫn URL?
RewriteEngine On RewriteCond %{THE_REQUEST} /index.php HTTP [NC] RewriteRule (.*)index.php$ /$1 [R=301,L]
RewriteEngine On RewriteCond %{THE_REQUEST} /index.html HTTP [NC] RewriteRule (.*)index.html$ /$1 [R=301,L]
Làm cách nào để bạn viết lại và thêm dấu gạch chéo vào URL :
Ví dụ đổi từ http://www.website.com/index.php?id=100 sang http://www.website.com/100/
RewriteEngine On RewriteRule ^([^/d]+)/?$ index.php?id=$1 [QSA]
Làm thế nào để bạn chuyển hướng từ một tên miền phụ blog đến một thư mục blog?
Ví dụ: Chuyển hướng blog.oldsite.com sang www.newsite.com/blog/
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_URI}/ blog RewriteRule ^(.*) http://www.somewhere.com/%{REQUEST_URI} [R=302,NC] RewriteRule ^(.*) http://www.somewhere.com/blog/%{REQUEST_URI} [R=302,NC]
Qua các thủ thuật Chuyển hướng link bằng Htaccess 301 như trên mong sẽ giúp các bạn trong những lúc nào đó 😀