апачи переписывают для присвоения папок доменам

Я использовал ряд Межсетевого взаимодействия Посетителя в течение многих лет. Это было представлено мне как текст, используемый в сетевых курсах Университета Огайо. Это с тех пор стало моим движением к справочнику в моей профессиональной карьере. Это описывает все протоколы общего назначения подробно, а также превосходные схемы на различных заголовках протокола. Ссылка Amazon, Google Books

0
задан 8 July 2009 в 23:38
3 ответа

Если у Вас есть много доменов, или даже если у Вас есть только несколько доменов, но у них всех есть более или менее та же конфигурация, это - вид ситуации, что динамический массовый виртуальный хостинг сделан для. Что-то вроде этого вошло бы в Ваш httpd.conf файл (или в файле это включено в httpd.conf):

UseCanonicalName Off
VirtualDocumentRoot /var/www/%0/htdocs
ErrorLog /var/www/logs/error_log
CustomLog /var/www/logs/access_log combined

Я также предложил бы

DirectoryIndex index.php

загружаться index.php файл в каталоге, если клиент не указывает имя файла.

3
ответ дан 4 December 2019 в 11:24

Необходимо создать виртуальный хост к каждому домену, который требуется отобразить на путь к файлу и указать DocumentRoot каждого vhost к фактическому пути в файловой системе. Затем Вы захотите быть уверенными, что у Вас есть ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ vhost, так, чтобы все другие запросы на домены, которые не являются установкой, использовали ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ vhost. Наконец, Вы захотите создать пользовательские 404 обработчика ошибок, так, чтобы, если файл не существует, который требуют, они подали альтернативное содержание. Необходимо будет создать php, названный custom_404.php, который отображает универсальное сообщение и/images/image.png.

# Default Domain (Undefined domains will fall back to this)
<VirtualHost *:80>
    ServerAlias www.defaultdomain.com
    DocumentRoot /var/www/default/htdocs
    ErrorDocument 404 /custom_404.php
    ErrorLog /var/www/default/logs/error_log
    CustomLog /var/www/default/logs/access_log combined
</VirtualHost>

# domain1.com
<VirtualHost *:80>
    ServerName domain1.com
    ServerAlias www.domain1.com
    DocumentRoot /var/www/domain1.com/htdocs
    ErrorDocument 404 /custom_404.php
    ErrorLog /var/www/domain1.com/logs/error_log
    CustomLog /var/www/domain1.com/logs/access_log combined
</VirtualHost>

# domain2.com
<VirtualHost *:80>
    ServerName domain2.com
    ServerAlias www.domain2.com
    DocumentRoot /var/www/domain2.com/htdocs
    ErrorDocument 404 /custom_404.php
    ErrorLog /var/www/domain2.com/logs/error_log
    CustomLog /var/www/domain2.com/logs/access_log combined
</VirtualHost>

Надеюсь, это поможет!

- Kevin

2
ответ дан 4 December 2019 в 11:24

Необходимо использовать виртуальные хосты для организации этого. Вот демонстрационный виртуальный файл хоста.

<VirtualHost *:80>
    ServerName example.net
    ServerAlias www.example.net
    ServerAdmin traustitj@example.com
    DocumentRoot /var/www/vhosts/www.example.net/html
    ErrorLog /var/www/vhosts/www.example.net/logs/errors.log
    Customlog /var/www/vhosts/www.example.net/logs/access.log combined

</VirtualHost>

Поместите этот файл внутри/etc/httpd/conf.d/И назовите его, например, vhost_example.net.conf

И затем добавьте внутри/etc/httpd/conf/httpd.conf в, например, последней строке

Включайте/etc/httpd/conf.d/vhost_example.net.conf

(или просто Включайте/etc/httpd/conf.d / *.conf), И в httpd.conf файле, не забудьте делать эту строку непрокомментированной

NameVirtualHost *:80

1
ответ дан 4 December 2019 в 11:24
  • 1
    Спасибо, но я хотел знать как it' s сделанная перезапись использования в .htaccess. Кроме того, это переписывает правило, должен загрузить index.php в случае 404 –  Alex L 9 July 2009 в 01:11

Теги

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