2013-04-14 2 views
1

Я установил поддомен подстановки для принятия каких-либо субдоменов, основная проблема заключается в том, что я использую DirectAdmin, и я не могу указать субдомен на определенный путь, используя DA API Я хочу указать любой subdomian в папку с именем, как subdomian, которая существует в подкаталогеДинамически заданный корень документа для поддоменов с использованием регулярного выражения

например sub.domian.com должен указывать на/public_html/поддоменов/суб

что-то вроде этого

<VirtualHost *:80> 
    VirtualDocumentRoot /public_html/subdomains/%1 
</VirtualHost> 

это будет мой идея л, если я установить поддомены, содержание которых слово как «.x» до точки в этом пути

может быть, как

<VirtualHost *.x:80> 
    VirtualDocumentRoot /public_html/subdomains/%1 
</VirtualHost> 

извините, если вопрос звучит глупо

ответ

-3

нашел ответ

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond %{HTTP_HOST} !www\.domain\.com$[NC] 
RewriteCond %{HTTP_HOST} ^(.*?)\.domain\.com$ 
RewriteCond %{REQUEST_URI} !folder/(.*?)/ 
RewriteRule ^(.*) /folder/%1%{REQUEST_URI} [L] 
</IfModule> 
+0

это просто переписывание URL, это НЕ переопределение корня документа. Корень документа должен ВСЕГДА быть установлен в соответствующем файле конфигурации apache. –

-3

Это может быть сделано полностью с использованием Htaccess. Вы должны включить подстановочное имя поддомена * .domain.com и указать его на domain.com

Затем вы можете использовать следующие типы правил:

RewriteCond %{HTTP_HOST} !www.domain.com [NC] 
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+).domain.com [NC] 
RewriteRule ^(.*/) /%1/index.php [PT,L] 

Вы можете изменять RewriteRule как файлы для поддомены хранится.

+0

ваш код не работает он все еще показывает содержание родительского индекса – h0mayun

+0

OK небольшое изменение в код Теперь работает RewriteCond% {HTTP_HOST}! WWW \ .domain \ .com $ [NC] RewriteCond% {HTTP_HOST}^(. *?) \. домен \ .com $ RewriteCond% {REQUEST_URI}! сайты/(. *?)/ RewriteRule^(. *) /sites/%1/index.php [L] , но я не могу получить доступ к подпапкам этого каталога, 4 примера sub.domain.com/folder/ отображает sub.domain.com/ contents – h0mayun

0

выглядит это то, что вам нужно:

<VirtualHost *:8080> 
    ServerName localhost 
    ServerAlias *.localhost 

    #the %1 is the asterisk value! No regexp supported! 
    VirtualDocumentRoot /home/%1/project 
    VirtualScriptAlias /home/%1/project 

    <Directory /home/*/project/> 
    #... 
    </Directory> 
</VirtualHost> 
Смежные вопросы