Хосты и организация папок для разработки

Уважаемая аудитория. Разрабатываю проекты на php, много разных, тестирую разные CMS, свои киты пишу. Для доступа мне нравится использовать домены вместо вложенных папок, например project-name.2011.dev, но каждый раз прописывать хосты в host и apache.conf поднадоело (в папках около 40 проектов) и они постоянно добавляются. Внимание вопрос. В какую сторону копать/Какие маны курить чтобы автоматически перенаправлять все запросы вида *.2011.dev в папку с директориями вида .../dev/2011/*?

Использую Linux.
  • Вопрос задан
  • 3029 просмотров
Решения вопроса 1
shushu
@shushu
Представим что ваш хост называется comp1.
Нужно добится что бы все подсети (т.е sub1.comp1) перенаправлялись на ваш компьютер
Как это сделано написано здесь: unixhome.org.ua/blog/apache/438.html
в том числе и как можно настроить сам apache конфиг

Так, вот, если вы добьетесь соответсвующего ефекта, то можно написать 1 конфиг для апача вида:

<VirtualHost *:80>
    UseCanonicalName Off
    VirtualDocumentRoot /web/%0/html
    VirtualScriptAlias /web/%0/cgi-bin
    LogLevel debug
    ErrorLog logs/error.log
    <Directory />
       AllowOverride All
    </Directory>
    RewriteLogLevel debug
    RewriteLog logs/rewrite_log
</VirtualHost>


И что бы сделать новый хост, достаточно создать папку: /web/someproject.comp1/html

Апач при этом перестартовывать не нужно.
Достаточно удобно, на мой взгляд
Ответ написан
Пригласить эксперта
Ответы на вопрос 8
savostin
@savostin
Еще один программист
RewriteCond %{HTTP_HOST} ^(.+)\.([0-9]+)\.dev$
RewriteRule ^(.*)$ /var/www/dev/%2/%1/$1 [E=VIRTUAL_HOST:${HTTP_HOST},L]
Ответ написан
Комментировать
@zloyshaman
Пропиши один раз .dev в hosts. А дальше разруливай всё через mod_rewrite или что там у тебя ещё на апаче есть.
Ответ написан
tzlom
@tzlom
в hosts прийдётся прописывать все свои поддомены, ну или поднимать локальный DNS
делаешь vhost и прописываешь ему ServerAlias *.upyachka.ru, направляешь его в папку с проектами
в папке располагаешь что то похожее на
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{HTTP_HOST} ^probe\.testpage\.local$
RewriteRule ^(.+) %{HTTP_HOST}$1
RewriteRule ^probe\.testpage\.local(.*)$ /probe%{REQUEST_URI} [L]

ну, только замени имя поддомена на группировку, и в подстановке тоже
и будет что то весьма близкое к тому что ты хочешь
Ответ написан
Комментировать
xRay
@xRay
Ответ написан
Комментировать
Foror
@Foror
Графоман
server-tuning.info/nginx/auto-subdomains.html — вот на nginx как это примерно делается
Ответ написан
Комментировать
@Jazzist
1. Использовать панель
2. Мне не хочется использовать панель, поэтому я написал тул для этой рутинки — whitepiano.ru/info/domains
Ответ написан
Комментировать
@Jazzist
И еще одна умная мысль пришла по этому поводу — написать или найти плагин для IDE, чтобы при создании проекта добавлял запись виртхоста.
Ответ написан
Комментировать
@Jazzist
>автоматически перенаправлять все запросы вида *.2011.dev в папку с директориями

Подвопрос — а чем не нравится site.localhost?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы