minhtoanwave

New Member
Tạo sub-domain bằng Apache WildCard DNS nhiều sub domain nhiều web

[COLOR=#999999 !important]19-7-2012 13:25 阅读(56) Bình luận(Ctrl+Enter)(1)[/COLOR]
Vấn đề subdomain được nhiều bạn quan tâm, nên lần này TKS xin viết bài hướng dẫn tạo subdomain theo user như kiểu các dịch vụ blog hay làm : letung.thietkeso.vn chẳng hạn

Giải pháp trình bày dưới đây là tạo các tên miền ảo bằng wildcard DNS. Bài sử dụng phần mềm quản lí DirectAdmin làm ví dụ.
Tạo wildcard DNS


Để làm được việc này bạn cần có tài khoản Admin, hay bạn có thể nhờ bên cung cấp lo cho vụ này.
DNS Administrator

Bạn chọn domain cần tại wildcard DNS sau đó tạo 1 record có type A và name * , value là dải IP của máy chủ để khi tạo, các subdomain sẽ cùng trỏ về đây.
Add domain record

Tiếp tục vào Custom HTTPD Configurations như hình dưới đây:
Custom HTTPD Configurations

Chọn domain cần tạo wildcard DNS, rồi gõ vào câu này và dòng trên cùng của text area


ServerAlias *.|DOMAIN|Gõ đúng y vậy, không phải thay |DOMAIN| bằng domain của mình, vì tự dộng Direct Admin thay.
Add server Alias

Vậy là xong phần tạo WildCard DNS. Bạn cần reboot lại server, apache lại để những gì bạn vừa cấu hình hoạt động. Khi nào bạn gõ subdomain nó tự redirect về trang chính là được (ví dụ bạn gõ abc.nhanweb.com sẽ chuyển về nhanweb.com).
Rewrite wildcard DNS subdomain


Nhiệm vụ của bước này là khi chúng ta gõ subdomain thì chuyển về một dạng khác để xử lý trên trang chính (ví dụ letung.thietkeso.vn ==> thietkeso.vn?username=letung chẳng hạn). Việc này chúng ta có thể nhờ Apache xử lý như sau:


RewriteEngine OnRewriteBase /#www is not a user subdomainRewriteCond %{HTTP_HOST} ^ [NC,OR]RewriteCond %{HTTP_HOST} ^thietkeso.vn[NC]RewriteRule ^(.*) $1 [L]#redirect wildcard subdomainsRewriteCond %{HTTP_HOST} ([^.]+)\.thietkeso.vn[NC]RewriteRule ^$ /program.php?user=%1 [L]ErrorDocument 404 /index.php
 

Các chủ đề có liên quan khác

Top