Назад | Перейти на главную страницу

mod_rewrite в каждом виртуальном хосте с поддоменом подстановочного знака

:: РЕДАКТИРОВАТЬ ::

Как настроить поддомены с подстановочными знаками, а затем переписать адрес?

структура каталогов

/var/www/domain.com        // .htaccess with rewrite rules is placed here
/var/www/domain.com/_admin
/var/www/domain.com/_admin/tst
/var/www/domain.com/_files
/var/www/domain.com/_mysql

.htaccess

RewriteCond %{HTTP_HOST}        ^(admin|files|mysql)\.domain\.com$ [NC]
RewriteCond %{REQUEST_URI}      !^/_(admin|files|mysql)/ [NC]
RewriteRule ^(.*)$               /_%1/$1 [L]

когда вы просите http://admin.domain.com/tst адрес переписывается на http://admin.domain.com/_admin/tst

как это исправить /_admin скрыт?

Поведение, о котором вы сообщаете, похоже, точно соответствует вашей конфигурации. Какого ожидаемого результата вы не получите?

Если вы хотите перенаправить domain.com/page к www.domain.com/page вместо того www.domain.com/domain.com/page, что кажется разумным, удалите этот блок:

RewriteCond %{HTTP_HOST}        ^www\.domain\.com$ [NC]
RewriteCond %{REQUEST_URI}      !^/domain\.com/ [NC]
RewriteRule ^(.*)$          /domain.com/$1 [L]