Wildcard DNS և Dynamic Subdomains

Իմ ամբողջ ազատ ժամանակ (հա!), Ես աշխատում էի փաթեթավորելու համար Վայրի թռչունների անսահմանափակ քարտեզ դիմում ձեռնարկության ծրագրով, որը թույլ կտա մարդկանց նախագծել իրենց սեփական խանութի տեղադրիչը: Սեփական Softwareրագրակազմը որպես Serviceառայությունների լուծում մշակելը իմ նպատակն էր արդեն մի քանի տարի, և սա հիանալի հնարավորություն է:

Դարակից կան երկու հիմնական առանձնահատկություններ, որոնք ես ուզում էի տեղադրել ծրագրում, որոնք, պարզվում է, հսկայական մարտահրավեր են, ուստի ես ուզում էի քննարկել դրանք այն դեպքում, երբ դուք երբևէ ցանկանում եք նույնը անել: Երկու հատկություններն էլ սովորական են ամբողջ ծրագրում, բայց ես պարզել եմ, որ չնայած դրանք սովորական են, հոստինգ մատակարարներից շատերն իրականում չեն աջակցում նրանց:

Իմ նպատակն է ստեղծել ինքնասպասարկման ծրագիր, որտեղ հաճախորդը կարող է կարգավորել իր սեփական ենթադոմեյնը (http://ենթադոմեյնը.myapplicationdomain.com), կամ նույնիսկ կիրառել իրենց սեփական ենթադոմեյնը (http://ենթադոմեյնը.yourdomain.com) Որպեսզի դա ինքնասպասարկվի, այն պահանջում է լուծում ծրագրավորելու հնարավորություն, բայց այն մուտք է գործում տիրույթի անունների սերվերային կազմաձևման որոշ ֆայլեր, որոնք արգելված են հոսթինգի հաշիվների մեծամասնությամբ: Խնդիրը Wildcard DNS- ին աջակցելն է, այսինքն `ցանկացած ենթատիրքը սերվերի տիրույթը մատնանշելու հնարավորություն ունենալը: Այլ կերպ ասած, test.domain.com- ը կամ www.domain.com- ը կամ any.domain.com- ը բոլորը մատնանշում են նույն տեղը: Անկախ նրանից, թե ինչ եք գրում, դա կաշխատի:

Applicationsրագրերից դուրս, սա իրականում բավականին գեղեցիկ հատկություն է, որը միացված է - նույնիսկ ձեր բլոգում, Դա ցանկացածին թույլ կտար գրել ամեն ինչ.yourdomain.com և բերեք դրանք ձերdomain.com, Դուք կզարմանաք, թե քանի վատ հղում կա, որոնք ուղղված են ձեր բլոգին կամ վեբ-կայքին: Դա կարող է բաց թողնել երթևեկությունը, եթե անձը չի ճանաչում, որ հղման հետ կապված սխալ է:

Գործընթացը գործում է ՝ ենթահամալիրը վերաշարադրելով հարցման տող, մինչ էջը իրականում մատուցվում է վեբ սերվերի կողմից ... այնպես որ, subdomain.domain.com- ը Apache սերվերների կողմից մեկնաբանվում է որպես domain.com?what=subdomain ՝ htaccess ֆայլի օգտագործման միջոցով.

# Արդյունահանեք domain.com- ի ենթադոմեյն մասը
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \. Yourdomain \ .com $ [NC]
 
# Ստուգեք, որ ենթադոմեյնի մասը www և ftp և փոստ չէ
RewriteCond% 1! ^ (Www | ftp | փոստ) $ [NC]
 
# Բոլոր պահանջները վերահղել դեպի php սցենար ՝ որպես փաստարկ ենթադոմեյնը
RewriteRule ^. * $ Http://www.yourdomain.com/%1 [R, L]

Կա մի քանի լրացուցիչ տեղեկատվություն այն ֆայլերի մասին, որոնցում դուք պետք է խմբագրեք V-nessa.net, Նկատի ունեցեք, որ ֆայլերը չեն կարող տեղակայվել այնտեղ, որտեղ նշված է ՝ կախված ձեր հոստինգի մատակարարից: Իմ հոստինգ մատակարարն իրականում շատ աջակցում է մարդկանց խառնվելուն, բայց նրանք նախազգուշացնում են, որ դա անելը կարող է անվավեր դարձնել հաճախորդների աջակցությունը: Բացի «ձեր ռիսկի տակ կոտրելուց», նրանք նույնպես չեն պատրաստվում օգնության ձեռք մեկնել ձեզ:

Ես ավելի շուտ աշխատելու եմ հավելվածի մնացած մասի մշակման վրա, այլ ոչ թե կախված լինեմ ենթադոմեյնի զարգացման վրա: Ես իրականում պատրաստվում եմ տալ CakePHP- ը նկար, որն օգտագործվում է որպես դրա հիմք:

Վերջին նշում, ես մի քիչ կոտրել եմ այս իրերը: Իմ աշխատանքի ընթացքում ես օրհնված եմ զարգացման թիմերով `այս իրերը պարզելու համար: Ինքս ինձ, ես մի փոքր վտանգավոր եմ: Feedbackանկացած արձագանք և օգնություն գնահատելի է:

3 Comments

  1. 1

    Շատ լավ. Ես, իրոք, օգտագործել եմ իմ գրանցման անվան սերվերը wildcard DNS- ով, երբ ես եղել եմ SliceHost- ում, և Apache- ն կազմաձևել է ծառայել չկարգավորված ենթադոմեյնները սովորական տիրույթների ֆայլերից:

    Ես իսկապես հետաքրքրվեցի նայել CakePHP- ի շրջանակը, բայց ձեր հղումը մեռած է

    CakePHP- ն կարելի է գտնել այստեղ http://cakephp.ORG

  2. 3

Ինչ եք կարծում?

Այս կայքը օգտագործում է Akismet- ը սպամի նվազեցման համար: Իմացեք, թե ինչպես է ձեր տվյալները մշակվում.