2013-11-23 3 views
0

Я вполне способен с большей частью конфигурации веб-сервера, но у меня возникла проблема.Настройки Apache для уникальных каталогов поддоменов и доменов

У меня есть установка VPS с одним дополнительным доменом. В настоящее время ссылка sub1.domain.com указывает на корень папки public_html/www.

Теперь я ищу создание новых поддоменов, а также использование domain.com для установки на Wordpress.

С моей точки зрения, я должен отредактировать файл apache httpd.conf, но я точно не знаю, как это сделать. Я бы ожидал, что мне нужно будет указать domain.com в подкаталог, а sub2.domain.com укажет на другую подкаталог. Что-то вроде следующего.

sub1.domain.com >> rootPathForApache/ 
domain.com >> rootPathForApache/domain.com/ 
sub2domain.com >> rootPathForApache/sub2/ 

Может кто-нибудь, пожалуйста, указать мне в правильном направлении.

Уважением,

ответ

1

У вас есть несколько вариантов:

Вариант 1: апача <VirtualHost> directive может решить эту (несколько). Это доступно только в server config context.

<VirtualHost *:80> 
    DocumentRoot "rootPathForApache/" 
    ServerName sub1.domain.com 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "rootPathForApache/domain.com/" 
    ServerName domain.com 
</VirtualHost> 

<VirtualHost *:80> 
    DocumentRoot "rootPathForApache/sub2/" 
    ServerName sub2domain.com 
</VirtualHost> 

Вариант 2: Используйте файл .htaccess в rootPathForApache с mod_rewrite модуль загружен, и ввести ServerAlias directive в любой существующий <VirtualHost> директивы.

содержимое .htaccess (или если вы хотите в пределах самой директивы VirtualHost):

RewriteEngine On 

RewriteCond %{HTTP_HOST} ^sub1.domain.com 
RewriteRule ^(.*)   $1 [L] 

RewriteCond %{HTTP_HOST} ^domain.com 
RewriteRule ^(.*)   domain.com/$1 [L] 

RewriteCond %{HTTP_HOST} ^sub2domain.com 
RewriteRule ^(.*)   sub2/$1 [L] 

... и ServerAlias:

ServerName domain.com 
ServerAlias sub1.domain.com sub2domain.com 

Последнее решение (вариант 2) просто кажется смешным , особенно потому, что ServerAlias ​​доступен только в директиве VirtualHost, а файлы mod_rewritehtaccess добавляют лишние накладные расходы. Это и не кажется естественным. Думаю, это иллюстрирует гибкость конфигурации и модулей Apache.

Смежные вопросы