Hướng dẫn chuyển hướng www sang non www với Apache2
Chuyển hướng www sang non www với Apache2 hay ngược lại đều là một trong những cách để tối ưu website của bạn. Bài viết này sẽ hướng dẫn bạn thực hiện việc ấy dễ dàng, cùng theo dõi nhé.
Điều kiện:
-
Có một phiên bản Vultr Linux chạy Apache 2.
-
Tên miền của bạn (kdata.com) có bản ghi DNS A cho @ và “www” đang trỏ đến IP của máy Vultr ở trên.
Cách thiết lập để chuyển hướng từ “non-www” sang “www”
Cách 1: Sử dụng chuyển hướng 301
Thiết lập 2 virtual host, một cái cho “non-www” và cái còn lại cho “www”
<VirtualHost *:80> ServerName example.com Redirect 301 / http://www.example.com/ </VirtualHost> <VirtualHost *:80> ServerName www.example.com #other vhost settings go here (e.g. logs, site root) </VirtualHost>
Cách 2: Sử dụng .htaccess
Đặt đoạn mã bên dưới trong file .htaccess trong thư mục gốc của trang web của bạn. Lưu ý rằng module mod_rewrite của Apache phải được bật thì mới sử dụng phương thức này. Bạn có thể kích hoạt nó bằng cách chạy sudo a2enmod rewrite
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
Cách thiết lập để chuyển hướng từ “www” sang “non-www”
Cách 1: Sử dụng chuyển hướng 301
Thiết lập 2 virtual host, một cái dùng cho sub-domain “www” và cái còn lại cho “non-www”
<VirtualHost *:80> ServerName www.example.com Redirect 301 / http://example.com/ </VirtualHost> <VirtualHost *:80> ServerName example.com #other vhost settings go here (e.g. logs, site root) </VirtualHost>
Cách 2: Sử dụng .htaccess
Đặt đoạn mã bên dưới trong file .htaccess trong thư mục gốc của trang web của bạn. Lưu ý rằng module mod_rewrite của Apache phải được bật thì mới sử dụng phương thức này. Bạn có thể kích hoạt nó bằng cách chạy sudo a2enmod rewrite
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Chúc bạn thành công!