На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное DigiMania RSS
msm.ru
! Дополнения к правилам (только для данного раздела)
- Используйте подсветку синтаксиса при выделении исходного кода;
- В описании темы обязательно укажите язык программирования;
- Прежде чем задать вопрос, обязательно воспользуйтесь поиском и загляните в FAQ раздела.
- Если вопрос касается серверного ПО, указывайте ОС.
- Если вопрос касается ASP.NET то лучше будет задать его в соответствующем разделе. Там вы сможете получить ответ намного быстрее.

Модераторы: Serafim, fatalist
  
> Перейти на домен, если нет заданного субдомена
Здравствуйте! Стоит Ubuntu 12.04. Задача такая: например, у доменов (не у всех) есть ещё субдомены. При вводе действующего субдомена надо попадать на этот субдомен, а если ввели неправильно, то попадаем на текущий домен, а не на тот, который по дефолту стоит. Идея простая, но реализовать как - пока не понял.

В один из файлов /etc/apache2/sites-enabled/domain.ru вставил следующее:

ExpandedWrap disabled
    NameVirtualHost ~IP-адрес~:80
     
    <VirtualHost domain.ru:80>
        Options -Indexes
        ServerName domain.ru
        ServerAlias domain.ru www.domain.ru
        DocumentRoot /var/www/domain.ru/htdocs
     
        RewriteEngine On
        RewriteCond %{HTTP_HOST} !^domain.ru [NC]
        RewriteRule ^(.*)$ http://domain.ru [R=301,L]
    </VirtualHost>


Не работает. Идёт редирект на домен, который стоит в файле «000-default». Подскажите, пожалуйста, в чём дело.
Сообщение отредактировано: salieri -
log(2 ^ 232.582.657)-1 is prime!
Заработало:

в папке sites-enabled сделал так:
000-default (самый первый):
ExpandedWrap disabled
    NameVirtualHost ~my_ip~:80
     
    <VirtualHost domain-default.ru:80>
     
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/domain-default.ru/htdocs
     
        <Directory />
            Options FollowSymLinks
            AllowOverride None
        </Directory>
     
        <Directory /var/www/domain-default.ru/htdocs>
            Allow from all
            Options +Indexes
            AllowOverride all
        </Directory>
     
        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
     
        <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
        </Directory>
     
        ErrorLog ${APACHE_LOG_DIR}/error.log
     
        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn
     
        CustomLog ${APACHE_LOG_DIR}/access.log combined
     
        Alias /doc/ "/usr/share/doc/"
     
        <Directory "/usr/share/doc/">
            Options Indexes MultiViews FollowSymLinks
            AllowOverride None
            Order deny,allow
            Deny from all
            Allow from 127.0.0.0/255.0.0.0 ::1/128
        </Directory>
     
    </VirtualHost>


1_sub1.domain.ru:
ExpandedWrap disabled
    NameVirtualHost ~my_ip~:80
     
    <VirtualHost sub1.domain.ru:80>
        Options -Indexes
        ServerName sub1.domain.ru
        ServerAlias sub1.domain.ru www.sub1.domain.ru
        DocumentRoot /var/www/sub1.domain.ru/htdocs
    </VirtualHost>


2_domain.ru:
ExpandedWrap disabled
    NameVirtualHost ~my_ip~:80
     
    <VirtualHost domain.ru:80>
        RewriteEngine On
        RewriteCond %{HTTP_HOST} !^domain.ru [NC]
        RewriteRule ^(.*)$ http://domain.ru [R=301,L]
     
        Options -Indexes
        ServerName domain.ru
        ServerAlias domain.ru *.domain.ru
        DocumentRoot /var/www/domain.ru/htdocs
    </VirtualHost>


очерёдность файлов следующая (играет значение!):
1. 000-default
2. 1_sub1.domain.ru
3. 2_domain.ru
log(2 ^ 232.582.657)-1 is prime!
1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
0 пользователей:


Рейтинг@Mail.ru
[ Script Execution time: 0,0753 ]   [ 19 queries used ]   [ Generated: 19.07.19, 06:22 GMT ]