2011-12-19 5 views
0

Я хочу создать простую страницу, доступную с любым подменю (подстановочный знак).поддомен подстановки в .htaccess

Например, вы посетите страницу hello.domain2.com, и страница будет отображать имя поддомена «привет». Также URL-адрес должен оставаться «hello.domain2.com». Это не должно быть слишком сложно, но поскольку мой хост имеет несколько доменов в 1 корень, мне придется настроить файл .htaccess.

Когда я проверить HTAccess, хост автоматически сделаны следующие правила:

RewriteEngine on  

RewriteCond %{HTTP_HOST} ^www.domain1.com$ 
RewriteCond %{REQUEST_URI} !^/domain1.com/ 
RewriteRule (.*)   /domain1.com/$1 [last] 
RewriteCond %{HTTP_HOST} ^domain1.com$ 
RewriteCond %{REQUEST_URI} !^/domain1.com/ 
RewriteRule (.*)   /domain1.com/$1 [last] 

RewriteCond %{HTTP_HOST} ^www.domain2.com$ 
RewriteCond %{REQUEST_URI} !^/domain2.com/ 
RewriteRule (.*)   /domain2.com/$1 [last] 
RewriteCond %{HTTP_HOST} ^domain2.com$ 
RewriteCond %{REQUEST_URI} !^/domain2.com/ 
RewriteRule (.*)   /domain2.com/$1 [last] 

RewriteCond %{HTTP_HOST} ^www.domain3.com$ 
RewriteCond %{REQUEST_URI} !^/domain3.com/ 
RewriteRule (.*)   /domain3.com/$1 [last] 
RewriteCond %{HTTP_HOST} ^domain3.com$ 
RewriteCond %{REQUEST_URI} !^/domain3.com/ 
RewriteRule (.*)   /domain3.com/$1 [last] 

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

Как я могу сделать поддомены подстановочных знаков переходить на /domain2.com?

ответ

0

Вы можете обменять домен2 блок правил для:

RewriteCond %{HTTP_HOST} ^([\w-]+).domain2.com$ 
RewriteCond %{REQUEST_URI} !^/domain2.com/ 
RewriteRule ^(.*)$   /domain2.com/$1?subdomain=%1 [LAST,QSA] 

([\w-]+) является символом для имен серверов, и %1 может быть использован в качестве заполнителя в более поздних RewriteRules. (Вторая RewriteCond также может быть преобразована в утверждение ..)

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