Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.219.116.93] |
|
Сообщ.
#1
,
|
|
|
Здравствуйте! Стоит Ubuntu 12.04. Задача такая: например, у доменов (не у всех) есть ещё субдомены. При вводе действующего субдомена надо попадать на этот субдомен, а если ввели неправильно, то попадаем на текущий домен, а не на тот, который по дефолту стоит. Идея простая, но реализовать как - пока не понял.
В один из файлов /etc/apache2/sites-enabled/domain.ru вставил следующее: 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». Подскажите, пожалуйста, в чём дело. |
Сообщ.
#2
,
|
|
|
Заработало:
в папке sites-enabled сделал так: 000-default (самый первый): 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: 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: 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 |