Nội quy chuyên mục: Chỉ chấp nhận bài viết về những dịch vụ free hosting được cung cấp thường xuyên. Không chấp nhận những bài viết kiểu free host khuyến mại theo thời vụ. Quảng cáo trá hình sẽ bị trừng phạt nghiêm khắc.
#130453 gửi bởi laser
Ngày 10 Tháng 12 2012 , 03:24
Cái này là ý tưởng dành cho những bạn biết lập trình (hoặc ưa "vọc") có thể nghiên cứu thêm.


Chúng ta nghe nói SEO theo subdomain tốt hơn sử dụng subdir (không biết google có nói thế không, bạn nào biết cho xin cái link tài liệu) vì vậy nếu chuyển các module của NukeViet thay vì truy cập kiểu subdir như cũ mà sử dụng subdomain thì quả là tuyệt đúng không?

Việc này hoàn toàn khả thi, nhất là trong trường hợp như NukeViet đã có sẵn chế độ multi module (virtual module - module ảo)

Như các bạn đã biết, NukeViet sử dụng chế độ Rewrite để giả lập subdir cho các module, cụ thể:
Module News nếu truy cập chế độ không rewrite: http://nukeviet.vn/index.php?nv=news
Có sử dụng Rewrite: http://nukeviet.vn/news/

Chúng ta sẽ "nâng cấp" nó thêm một cấp độ nữa, đó là kết hợp Rewrite + Wildcard subdomain (Sử dụng DNS records) để tạo ra subdomain dạng: http://news.nukeviet.vn
Và tất nhiên, nếu việc này làm thủ công thì sẽ không có gì để nói, điều muốn nói là chúng ta phải làm nó làm sao nó sẽ chạy một cách tự động, tức là tất cả module đều phải tự động sinh ra và chạy được mà không phải cấu hình bằng tay, bất kể nó là module ảo hay module thật.

Yêu cầu để làm được như sau:
  • Server, VPS, Hosting (có quyền cấu hình wildcard cho vhost)… hoặc giả lập trên localhost với xampp...
  • Rewrite: Cấu hình hỗ trợ mod_rewrite trong apache.
  • Wildcard subdomain: Trỏ *.nukeviet.vn về địa chỉ máy chủ, vps hay hosting. Có thể sử dụng domain ảo, cấu hình file hosts trên máy để thực hiện nhiệm vụ tương tự (bằng cách tạo sẵn các subdomain).

Trình tự thực hiện:
1. Trỏ domain:

A Record cho *.subdomain.com về địa chỉ máy chủ bạn sử dụng. Trong trường hợp sử dụng tên miền giả lập trên localhost thì bạn sửa thêm vào cuối file host như sau:
Mã: Chọn hết
127.0.0.1 subdomain.com
127.0.0.1 www.subdomain.com
127.0.0.1 abc.subdomain.com
127.0.0.1 xyz.subdomain.com

Thay subdomain.com bằng tên miền bạn sử dụng.

2. Cấu hình trong file httpd-vhosts.conf như sau:

Mã: Chọn hết
<VirtualHost subdomain.com:80>
ServerAdmin postmaster@dummy-host2.localhost
DocumentRoot "D:/xampp/htdocs/subdomain"
ServerName subdomain.com
ServerAlias www.subdomain.com *.subdomain.com
ErrorLog "logs/dummy-host2.localhost-error.log"
CustomLog "logs/dummy-host2.localhost-access.log" combined
</VirtualHost>

Thay subdomain.com bằng tên miền bạn sử dụng.

3. Sử dụng .htacess để rewrite

Mã: Chọn hết
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^.] +)\.subdomain\.com$ [NC]
RewriteCond %1 !^(www|ftp|mail)$ [NC]
RewriteRule ^.?$ index.php?nv=%1 [L]

Thay subdomain.com bằng tên miền bạn sử dụng.

Tất nhiên để site chạy được mượt, các bạn sẽ cần phải thao tác thêm một số cái nữa trong code NukeViet. Nhưng đừng hỏi gì, hãy bắt tay thử và khám phá xem NukeViet làm được những gì ;) !

Mọi nẻo đường đều dẫn tới tương lai!
#130454 gửi bởi dangdinhtu
Ngày 10 Tháng 12 2012 , 03:48
subdomain thì tốt hơn thật anh ạ.
Thực nghiệm cho thấy số link sub nhiều hơn nhiều lần số link trong subdir trên web em :D
kết quả tìm kiếm cũng vậy

Diễn đàn Nukeviet mới do Mình và Nhím thủ lĩnh thành lập các bạn ghé qua học tập trao đổi nhé https://forum.nuke.vn/
#130507 gửi bởi anhcoo
Ngày 10 Tháng 12 2012 , 19:26
Xin cảm ơn laser về bài viết này, nhân đây mình có góp ý là NukeViet có cấu hình thêm phần cho phép thành viên có thể tạo module ảo thì tự chọn theme riêng trong các theme có sẵn trên web thì NukeViet có thể cho phép các thành viên tự tạo web free với tên miền sub tự động kiểu như trên rồi đấy :)

Hosting www.hostingxanh.com
#131125 gửi bởi convoi
Ngày 20 Tháng 12 2012 , 12:50
Chỉnh sửa httpd-vhosts.conf thì ở cấp độ hosting chắc là pó tay rồi! Localhost, VPS hoặc Server thì mới làm được.
Mã: Chọn hết
<VirtualHost subdomain.com:80>
ServerAdmin postmaster@dummy-host2.localhost
DocumentRoot "D:/xampp/htdocs/subdomain"
ServerName subdomain.com
ServerAlias www.subdomain.com *.subdomain.com
ErrorLog "logs/dummy-host2.localhost-error.log"
CustomLog "logs/dummy-host2.localhost-access.log" combined
</VirtualHost>

www.hientuong.net