Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
<VirtualHost 127.0.0.1:80>
UseCanonicalName Off
RewriteEngine on
RewriteMap lowercase int:tolower
<directory /var/www/>
Options Indexes MultiViews FollowSymLinks
AllowOverride All
</directory>
# allow CGIs to work
RewriteCond %{REQUEST_URI} !^/cgi-bin/
RewriteCond %{REQUEST_URI} !^/icons/
# concatenate the virtual host name onto the start of the URI
# the [C] means do the next rewrite on the result of this one
RewriteRule ^(.+) ${lowercase:%{SERVER_NAME}}$1 [C]
# now create the real file name
RewriteRule ^(www\.)?([0-9a-z_-]+)/(.*)$ '/var/www/$2/$3' [L]
RewriteRule ^(www\.)?([a-z0-9_-]+)\.([0-9a-z_-]+)/(.*)$ '/var/www/$3/$2/$4' [L]
RewriteRule ^(www\.)?([a-z0-9_-]+)\.([a-z0-9_-]+)\.([0-9a-z_-]+)/(.*)$ '/var/www/$4/$3/$2/$5' [L]
CustomLog /var/log/apache2/access.log combined
LogLevel debug
</VirtualHost>
Структура каталогов у меня такая: в /var/www/ есть директория dev, которая является TLD для всех сайтов. Все сайты внутри — просто директории. Получается хост example.dev (равно как и www.example.dev) соответствует директории /var/www/dev/example/. Поддерживаются и субдомены: sub.example.dev соответствует /var/www/dev/example/sub/. Кстати, просто dev тоже открывается.address=/dev/127.0.0.1server {
listen 80;
server_name ~^(?!www\.);
rewrite ^ www.$host$request_uri permanent;
}
server {
listen 80;
server_name ~^(www\.)?(?P.+)$;
location / {
root /var/www/html/$domain;
index index.html index.htm;
}
}
Парсер кое-что сожрал. Вот тут полная версия pastebin.com/0MeFQY92
Примерно как-то так. Это пример для статики, соответсвенно для fastcgi php можно написать локейшен используя переменную $domain. Главное чтобы все хосты лежали в одной директории и соответсвовали имени доменаА вы пока займитесь настройкой php… +nginx+MySQL+ еще что-то. Благо подробных руководств по этому делу полно.
Добавило из за многообещающего заголовка с целью почитать потом (люди думают-то раз замена, то в три щелчка кнопки ОК все заработает ).
Проблемы эти появляются из-за того, что сервера обычно работают под ОС Linux.
Полноценная замена Denwer или разворачиваем Ubuntu-server на VMware (часть 1)