Cấu hình 2 tên miền chạy chung một website (Domain Pointer)
Bạn có một website nhưng lại muốn chạy 2 tên miền khách nhau. Ví dụ domain.com và domain2.com. Vậy bạn cần phải làm gì để có thể trỏ nhiều domain về 1 website chạy WordPress?Chúng ta cần giải quyết 3 vấn đề:

  1. Tạo Domain Pointer
  2. Cấu hình cho  phép gõ tên miền nào thì trên trình duyệt sẽ hiển thị tên miền đó
  3. Cài đặt SEO để tránh google đánh dấu nhiều website trùng nội dung.

Cấu hình 2 tên miền chạy chung 1 website (Domain Pointer)

1. Domain pointer có tác dụng gì?

Domain pointer là dạng domain chạy song song với domain chính. Khi cấu hình domain pointer, bạn sẽ có 2 domain chạy trên 1 hosting, 1 website, 1 database. Nói cách khác cho dù bạn gõ tên domain nào vào thanh địa chỉ trong web browse đều đến 1 website của bạn trong hosting.



2. Cách cấu hình Domain Pointer

Bước 1: Đăng nhập vào trang quản trị hosting, click [Domain Pointers].

cau hinh chay 2 ten mien tren 1 website



Bước 2: Nhập tên miền phụ vào. Tên miền này sẽ trỏ về tên miền chính trên hosting. Click [Add] để hoàn thành

chay 2 ten mien tren 1 website

Chuyển WP_SITEURL và WP_HOME 2 tên miền chạy chung 1 website

Mặc định khi thêm Domian Pointer  thì bạn đã có thể truy cập 2 tên miền đều trỏ về cùng 1 website. Tuy nhiên điều bạn muốn làm là khi gõ domain.com thì nó sẽ trả lại URL là domain.com và ngược lại domain2.com thì cũng trả về URL domain2.com. Vì vậy chúng ta cần thêm đoạn code sau vào file wp-config.php để khi khách vào bằng domain nào thì vẫn giữa nguyên ở domain đó và link các bài post, page vẫn ở domain mà khách truy cập.

Thêm đoạn code này vào file wp-config.php

define('WP_SITEURL', 'https://' . $_SERVER['HTTP_HOST']);
define('WP_HOME', 'https://' . $_SERVER['HTTP_HOST']);

Vậy là hoàn tất. Bạn đã có thể truy cập vào các domain bạn thích bình thường. Chuyển xuống bước tiếp theo nhé đó là tránh việc bị Google đánh giá trùng nội dung trên nhiều tên miền khác nhau.

 

Azdigi

Cài đặt SEO tránh giảm thứ hạng trên Google

Chắc chắn khi bạn dùng Worpress thì không thể thiếu plugin Yoast SEO. Hãy thêm đoạn code sau vào file functions.php trong theme để có thể chuyển toàn bộ lưu lượng truy cập canonical về toàn bộ site chính và sẽ không bị google đánh dấu trùng nội dung khi có nhiều parked domain (Aliases)

Thêm đoạn code này  vào file functioins.php

//canonical - old domain to new domain
add_filter('wpseo_canonical', 'swpseo_canonical_domain_replace');
function swpseo_canonical_domain_replace($url){
$domain = 'your-domain.com';// Thay đổi cái này về site chính của bạn vd ở đây là your-domain.com
$parsed = parse_url(home_url());
$current_site_domain = $parsed['host'];
return str_replace($current_site_domain, $domain, $url);
}

Vậy là đã okie. Bạn có thể sử dụng thoải mái mà không sợ ảnh hưởng tới SEO rồi

Khắc phục lỗi font khi chạy với domain phụ

Khi đã cài đặt xong nhiều domain chạy trên 1 source wordpress nhưng bị lỗi khi load các font .

Bạn hãy copy đoạn code sau vào file .htaccess là được

<IfModule mod_headers.c>
<FilesMatch "\.(ttf|ttc|otf|eot|woff|woff2|font.css|css|js)$">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
</IfModule>

Chúc các bạn thành công!

5/5 - (9 bình chọn)



6 thoughts on “Cấu hình 2 tên miền chạy chung 1 website (Domain Pointer)

  1. Bánh màn thầu says:

    Ok good, mình đã chạy được nhưng domain phụ lại không có https kèm theo, có cách nào cho domain phụ vẫn chạy được https không

      • Minh says:

        Chào bạn. Mình cài xong bị lỗi ForbiddenYou don’t have permission to access / on this server.
        Cách cài ssl cho domain phụ sao bạn. Mình xài Direct admin

        • Quản Trị Viên says:

          Chào bạn, để giải quyết bạn cần phải cài ssl cho cả domain phụ nhé. Bạn dùng Directadmin thì có thể tạo SSL Let’s Encrypt (Bạn check thử trong giao diện sẽ có nếu vps đã tích hợp phần này vào). Trường hợp chưa có thì cài đặt thêm trong VPS nhé.

          • Minh says:

            Bạn ơi. Bạn cho mình xin tài liệu hướng dẫn cài SSL Let’s Encrypt trên SSH được không bạn. mình xài vps Centos6 mà tìm tài liệu không ra. Cám ơn bạn nhé

          • Khanh Nguyen says:

            Quá trình cập nhật DirectAdmin và các gói quá trình có thể xảy ra lỗi nên bạn nhớ backup data và code trước khi làm.

            cd /usr/local/directadmin/custombuild/ 
            ./build update
            cd /usr/local/directadmin/custombuild/ 
            ./build update

            Cài đặt Let’s Encrypt.

            ./build letsencrypt
            ./build letsencrypt

            Bật Let’s Encrypt.

            grep -q ‘letsencrypt=1’ /usr/local/directadmin/conf/directadmin.conf || echo ‘letsencrypt=1’ >> /usr/local/directadmin/conf/directadmin.conf   
            grep -q ‘enable_ssl_sni=1’ /usr/local/directadmin/conf/directadmin.conf || echo ‘enable_ssl_sni=1’ >> /usr/local/directadmin/conf/directadmin.conf

            Khởi động lại DirectAdmin.

            service directadmin restart

            Bây giờ để cài đặt SSL cho domain, bạn vào “Advanced Features” -> “SSL Certificates” chọn domain và kích hoạt SSL nhé.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *