Apache2 Виртуальный поврежденный Хост; отображенный index.html по умолчанию на субдомене, но корректное содержание на www.subdomain

Я думаю, что решением Michael Graff является лучшая идея. rsync X-> A. Затем-> B.

Если бы Вы хотите другое предложение, которое сократило бы computationation время, Вы могли посмотреть на xdelta (http://xdelta.org/). Это по существу то же решение как мультитранзитный участок rsync, с преимуществом это могло сэкономить Вам время необходимости вычислить обвинение в каждом транзитном участке. Если включенные файлы являются большими, это могло бы стать материалом сбережения времени.

Jim C. http://www.kleobackup.net

5
задан 13 April 2017 в 15:14
6 ответов

Попробуйте его, не имея дублирующейся записи в ServerName и ServerAlias.

Например:

<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName  sub.example.com
ServerAlias www.sub.example.com
DocumentRoot    /srv/www/sub.example.com/public_html/
ErrorLog    /srv/www/sub.example.com/logs/error.log
CustomLog   /srv/www/sub.example.com/logs/access.log combined

<directory /srv/www/sub.example.com/public_html/>
    Options -Indexes FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
</directory>

0
ответ дан 3 December 2019 в 01:59

Некоторые предложения:

  • Изменитесь <VirtualHost 127.0.0.1:80> для <VirtualHost *:80>
  • Вы помещали NameVirtualHost *:80 конфигурация?
  • Поместите файл index.html под каждым DocumentRoot, очевидно, каждый с различным сообщением для идентификации, где Вы получаете доступ
  • Попытайтесь получить доступ от localhost и если это - возможная попытка от другого местоположения
0
ответ дан 3 December 2019 в 01:59

У меня возникла точно такая же проблема, и в конечном итоге проблема была решена, когда я отключил сайт по умолчанию в apache, отсоединив его от сайтов с поддержкой:

sudo unlink /etc/apache2/sites-enabled/000-default

После этого все мои сайты отобразились правильно. Я вижу, что это довольно старый вопрос, но надеюсь, что он поможет кому-нибудь еще.

1
ответ дан 3 December 2019 в 01:59

Проверяли ли вы разрешение DNS своих сайтов?

(www.) Sub.example.com оба разрешаются на один и тот же компьютер (даже если разные адреса)?

Проверьте журналы, оба из них, чтобы увидеть, все ли ваши права доступа попадают на правильный сервер (конфигурация), или они попадают в настройки по умолчанию, поскольку "Это работает!" является страницей по умолчанию для конфигурации по умолчанию.

Если они попадают в значение по умолчанию, вы должны определить, почему это так ... каковы различия между конфигурациями. Попробуйте изменить IP, как предлагалось ранее, поскольку Apache привяжет конфигурацию к конкретному IP-адресу, указанному в директиве VirtualHost.

0
ответ дан 3 December 2019 в 01:59

Ваши конфигурации неправильно настроены для NameVirualHost . Избавьтесь от 127.0.0.1 и сделайте его подстановочным знаком * . Когда вы явно устанавливаете 127.0.0.1 , это свяжет все соединения на вашем компьютере с этой конфигурацией. NameVirualHost требует подстановочного знака * :

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName  client1.example.com
    ServerAlias client1.example.com www.client1.example.com
    DocumentRoot    /srv/www/client1.example.com/public_html/
    ErrorLog    /srv/www/client1.example.com/logs/error.log
    CustomLog   /srv/www/client1.example.com/logs/access.log combined

    <directory /srv/www/client1.example.com/public_html/>
        Options -Indexes FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </directory>
</VirtualHost>
The other sites are variations of:

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName  example.com
    ServerAlias example.com www.example.com
    DocumentRoot    /srv/www/example.com/public_html/
    ErrorLog    /srv/www/example.com/logs/error.log
    CustomLog   /srv/www/example.com/logs/access.log combined
</VirtualHost>
The only site the differs is the other subdomain:

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName  reseller.example.com
    ServerAlias reseller.example.com
    DocumentRoot    /srv/www/reseller.example.com/public_html/
    ErrorLog    /srv/www/reseller.example.com/logs/error.log
    CustomLog   /srv/www/reseller.example.com/logs/access.log combined
</VirtualHost>

Также убедитесь, что NameVirtualHost установлен следующим образом. В моей настройке под Ubuntu вы увидите эту строку в этом файле: /etc/apache2/ports.conf

NameVirtualHost *:80
Listen 80
0
ответ дан 3 December 2019 в 01:59

Решения других плакатов сделают это.

Вы видите "Работает", потому что весь ваш виртуальный хост соответствует localhost. И если вы вызовете client1.example.com, apache пропустит Vhosts локального хоста, а если нет подходящего Vhost, он будет использовать конфигурацию по умолчанию se.

Делайте то, что сказали другие плакаты (измените ваши основные хосты на из изменения вашего виртуального хоста по умолчанию на корневой каталог документа, который вам нравится.

Не забывайте: , даже если вы правильно определили свои Vhosts , сервер вызовет сайт по умолчанию, если кто-то запросит ваш сервер без имени хоста (например, через IP-адрес).

1
ответ дан 3 December 2019 в 01:59

Теги

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