Увесь свой вольны час (ха!) Я працаваў над тым, каб ахінуць Неабмежаваная карта дзікіх птушак дадатак з карпаратыўным дадаткам, якое дазволіць людзям распрацаваць уласны лакатар крам. Распрацоўка ўласнага праграмнага забеспячэння як сэрвіснага рашэння была маёй мэтай ужо некалькі гадоў, і гэта выдатная магчымасць.
Ёсць дзве асноўныя характарыстыкі, якія я хацеў уключыць у дадатак, і якія апынуліся велізарнай праблемай, таму я хацеў абмеркаваць іх у тым выпадку, калі вы калі-небудзь хочаце зрабіць тое ж самае. Абедзве функцыі з'яўляюцца звычайнай з'явай для ўсіх прыкладанняў, але я даведаўся, што, нягледзячы на тое, што яны звычайныя, многія пастаўшчыкі хостынгу на самой справе іх не падтрымліваюць!
Мая мэта складаецца ў стварэнні дадатку самаабслугоўвання, дзе кліент можа наладзіць уласны паддамен (http://субдомен.myapplicationdomain.com), альбо нават прымяніць уласны паддамен (http://субдомен.yourdomain.com). Для яго самаабслугоўвання патрабуецца магчымасць праграмавання рашэння, але ён мае доступ да некаторых файлаў канфігурацыі сервера даменных імёнаў, якія забаронены для большасці ўліковых запісаў хостынгу! Праблема заключаецца ў падтрымцы DNS-знакаў падстаноўкі, гэта значыць у магчымасці накіроўваць любы субдамен на дамен сервера. Іншымі словамі, test.domain.com альбо www.domain.com альбо any.domain.com паказваюць на адно і тое ж месца. Што б вы ні пісалі - атрымаецца.
Па-за дадаткамі, гэта на самай справе вельмі прыемная магчымасць, якая была ўключана - нават у сваім блогу. Гэта дазволіла б каму-небудзь пісаць усё.yourdomain.com і прывесці іх да yourdomain.com. Вы былі б здзіўлены, колькі дрэнных спасылак ёсць на ваш блог або вэб-сайт. Гэта можа быць прапушчана, калі чалавек не прызнае, што гэта памылка са спасылкай.
Працэс працуе шляхам перазапісу паддамена ў радок запыту да таго, як вэб-сервер сапраўды адлюструе старонку ... таму subdomain.domain.com на самай справе трактуецца серверамі Apache як domain.com?what=subdomain з выкарыстаннем файла htaccess:
# Выняць частку субдамена domain.com
RewriteCond% {HTTP_HOST} ^ ([^ \.] +) \. Yourdomain \ .com $ [NC]
# Праверце, каб частка субдамена не была www, ftp і mail
RewriteCond% 1! ^ (Www | ftp | пошта) $ [NC]
# Перанакіруйце ўсе запыты на PHP-скрыпт, які перадаецца ў якасці аргумента субдамена
RewriteRule ^. * $ Http://www.yourdomain.com/%1 [R, L]
Там ёсць дадатковая інфармацыя пра файлы, якія трэба рэдагаваць V-nessa.net. Звярніце ўвагу, што файлы могуць знаходзіцца не там, дзе гэта паказана, у залежнасці ад вашага правайдэра хостынгу. Мой хостынг-правайдэр сапраўды падтрымлівае ўмяшанне людзей, але яны папярэджваюць, што гэта можа ануляваць падтрымку кліентаў. Як і "ўзламаць на свой страх і рызыку", яны таксама не збіраюцца звяртацца па дапамогу.
Я збіраюся папрацаваць над астатняй часткай прыкладання, а не затрымлівацца на распрацоўцы субдамена. Я на самой справе збіраюся даць CakePHP стрэл для выкарыстання ў якасці асновы для яго!
Апошняя заўвага: я крыху ўзламаў гэты матэрыял. Я працую над камандамі распрацоўшчыкаў, якія разбіраюцца ў гэтым. Сам па сабе я крыху небяспечны. Любая зваротная сувязь і дапамога вітаюцца!
Вельмі файна. Я на самой справе выкарыстоўваў сервер імёнаў рэгістратара з падстаноўкай DNS, калі быў у SliceHost, і ў мяне быў наладжаны Apache для абслугоўвання неканфігураваных субдаменаў з файлаў звычайных даменаў.
Мне было вельмі цікава зазірнуць у структуру CakePHP, але ваша спасылка мёртвая 🙂
CakePHP можна знайсці па адрасе http://cakephp.ORG
Я думаў пра тое, каб пайсці па маршруце рэестра, Алекс. Гэта выдатная ідэя - напэўна, лепшы спосаб справіцца з гэтым.
Прабачце за мёртвую спасылку - яна цяпер выпраўлена.
вам удалося знайсці правайдэра, які дазволіць вам гэта зрабіць? (за выключэннем арэнды выдзеленага сервера)