Как у меня может быть несколько апачских сайтов под тем же доменом?

У меня есть единственный IP, который является внешним - говорят xx.xx.xx.xx. В настоящее время у меня есть 2 URL, которые решают к IP-адресу. Я использую виртуальные хосты в Apache, чтобы удостовериться, что правильные запросы переходят к сайту:

www.mysite1.com --> /home/mysite1
www.mysite2.com --> /home/mysite2

Работает отлично. Однако...

Я хочу добавить 3-е (и затем 4-й и 5-й, и т.д.) сайт к этому IP. Сайты являются временными и таким образом не получат доменные имена. Я надеялся получить доступ к ним при помощи:

http://xx.xx.xx.xx/mysite3 where mysite3 --> /home/mysite3

но кажется, что виртуальный хост от site1 ловит эти запросы и направляет запрос к www.mysite1.com который борется, находя файлы (mysite3), таким образом, я добираюсь www.mysite1.com с 404 страницами (Они - все сайты Wordpress).

Я уверен, что это может быть сделано, но я так же уверен, что не могу понять это.

У кого-либо есть идея того, как я должен настроить "вещи"?

2
задан 14 March 2014 в 13:13

1 ответ

У Вас есть 2 решения

1. Создание Виртуального Хоста к каждому сайту

По-моему, я рекомендовал бы это решение, если это - возможность.

На этом шаге Вам было бы нужно, должен создать сайт, как Вы сделали для своих предыдущих. Но необходимо будет дать им домен как www.site3.temp даже если это не будет иметь записи DNS. (заметьте .tmp TLD)

Затем, для каждого пользователя, который откроет тот сайт, они должны были бы отредактировать свой файл hosts и добавить строку, которая указывает что временный URL на Ваш IP. Как так:

xx.xx.xx.xx      www.site3.tmp
  1. В Linux и Mac OS файл hosts расположен в /etc/hosts
  2. В Windows это расположено в <Windows Installation>/system32/drivers/etc/hosts
    По умолчанию, <Windows Installation> находится в C:/Windows

2. Создание псевдонима

При редактировании hosts файл не является решением, затем это - Вы только другая опция

Это потребовало бы, чтобы Вы отредактировали свой виртуальный файл хоста по умолчанию. Это - виртуальный хост www.mysite1.com, так как это - то, которое открывается, когда Вы переходите в http://xx.xx.xx.xx/mysite3.
Это - причина, мне не нравится это решение, так как это делает материал ужасным и нарушенным. И я только использую его как последнее прибежище.

В Виртуальной конфигурации Хоста добавьте следующую строку (Изменяющий пути как требуется, конечно):

Alias /mysite3 /home/mysite3/
# Notice that there isn't a trailing slash
# So this won't work: Alias /mysite3/ /home/mysite3/

Конечно, если необходимо добавить некоторую апачскую конфигурацию к каталогу, также потребность, которая будет сделана в том же файле хоста.

<Directory /home/site3/>
    AllowOverride All # Just an example
</Directory>

3. (Премия), Комбинирующая оба решения

Это лучше затем второе решение, но не так хорошо как первое

Виртуальный файл Хоста по умолчанию является первым, загруженным апачем. И по умолчанию, апач загружает их в алфавитном порядке. Так, что можно сделать, можно создать новый виртуальный файл хоста, который предшествовал бы всем другим виртуальным файлам hosts.
Например, 000-default (Который теперь сделан в конфигурации по умолчанию apache2.4).

Затем создайте все свои Псевдонимы в том файле Хоста, и URL по умолчанию этого виртуального хоста перешел бы к 403 страницам. Таким образом в конце, Вы получили бы это:

www.mysite1.com   --> /home/mysite1
www.mysite2.com   --> /home/mysite2
xx.xx.xx.xx       --> 403 Error
xx.xx.xx.xx/site3 --> /home/site3
xx.xx.xx.xx/site4 --> /home/site4

Это предпочтено по второму решению, с тех пор который мог бы конфликтовать с Вашими другими сайтами. Например, это могло бы быть испорчено с Вашим URL, переписывает.

1
ответ дан 8 October 2019 в 11:45

Другие вопросы по тегам:

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