2010-03-25 5 views
6

Tôi đang tạo phần mềm cho phép người dùng có tên miền phụ tùy chỉnh của riêng họ (ví dụ: theirsubdomain.mydomain.com) hoặc trỏ một CNAME từ tên miền riêng của họ đến địa chỉ trang web của tôi (ví dụ: theirsubdomain.theirdomain.com).Phần mềm lưu trữ trên máy chủ của tôi cho phép người dùng trỏ tên miền của họ để sử dụng CNAME

Tôi đã liên hệ với máy chủ lưu trữ của tôi về điều này và tùy chọn tên miền phụ đầu tiên rất tuyệt. Họ sẽ thiết lập tập lệnh tên miền phụ wilcard cho tôi ...

CNAME họ đã nói tôi không thể tự động thực hiện. Tôi sẽ phải tự đi vào tài khoản của tôi và thêm tên miền để trỏ đến địa chỉ trang web của tôi nếu không apache wont bây giờ nơi để tìm các tập tin.

Thực tiễn phổ biến này hay có cách nào đó xung quanh việc này được tự động hóa?

+0

Bạn đã đạt được điều này chưa? Tôi cũng quan tâm đến việc triển khai loại chức năng tương tự. –

+0

Tôi cũng đang tìm chức năng này; bạn đã bao giờ tìm cách để làm điều đó chưa? – Caesar

Trả lời

2

Sự cố là tiêu đề HTTP. Khi bạn yêu cầu một trang Web trình duyệt sẽ gửi một yêu cầu bắt đầu với:

GET /mypage.html HTTP/1.1 
Host: www.mysite.com 

Các Host mục cho phép một máy chủ Web duy nhất để phục vụ các trang cho nhiều tên miền. Bằng cách xem Host, máy chủ biết rằng mypage.html nên đến từ các tệp được lưu trữ của nó cho mysite.com và không phải từ các tệp của myothersite.com trên cùng một máy chủ.

Tôi đoán trang web của bạn nằm trên máy chủ web được chia sẻ tại công ty lưu trữ của bạn và họ sử dụng chức năng này để phân biệt các yêu cầu cho trang web của bạn và yêu cầu các trang web khác nằm trên cùng một hộp ảo đó. Một số máy chủ ảo, như HostGator, sẽ cho phép bạn chỉ định các tên miền khác cần được chấp nhận trên đường dây Host này và nơi các tài liệu trả về sẽ đến từ đó. Đây thường là một dịch vụ cao cấp hơn được cung cấp bởi các công ty. Ví dụ trên HostGator họ nói "Các kế hoạch lưu trữ Baby và Business cho phép các miền không giới hạn được lưu trữ trên một tài khoản duy nhất", tuy nhiên kế hoạch Hatchling cơ bản không cho phép điều này.

Nếu bạn có máy thuê riêng của bạn, với cài đặt Apache của riêng bạn, bạn có thể tự mình quản lý thông tin tiêu đề HTTP này. Apache hỗ trợ máy chủ ảo, xem tài liệu sau: http://httpd.apache.org/docs/2.2/vhosts/

Vì vậy, về cơ bản, bạn phải có cách nào đó để nói với Apache (hoặc bất kỳ máy chủ nào bạn đang sử dụng) các tệp cho giá trị Host cụ thể tương ứng với cùng một tệp cho miền, vì một máy chủ Apache duy nhất có thể cung cấp các tệp hàng trăm miền khác nhau. Nếu bạn không quản trị máy chủ Apache của riêng mình, đến nơi bạn có thể thiết lập máy chủ ảo như được hiển thị trong tài liệu, dịch vụ lưu trữ sẽ phải cung cấp một số cách tùy chỉnh để nhận thông tin này cho Apache.