Перенаправить все папки на поддомены htaccess

0

Я пытаюсь перенаправить каждую папку с domain.com на это поддомен.

Примеры:

domain.com/a -> a.domain.com
domain.com/b -> b.domain.com
domain.com/about -> about.domain.com

Таким образом, в основном, каждая папка перенаправляется на него поддоменом. В первом примере папка a содержит index.html. Когда я перейду на сайт domain.com/a, он должен перенаправить URL-адрес на сайт a.domain.com, но используйте файл index.html из папки.

Мой текущий htaccess выглядит так:

RewriteEngine on
RewriteBase /


RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond %{HTTP_HOST} !^www\.domain\.com$
RewriteCond %{HTTP_HOST} ^(.*)\.domain\.com$
RewriteCond %{REQUEST_URI} !^/%1/


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /%1/$1

RewriteRule ^(/)?$ %1/index.html [L]

Что работает На данный момент, если я перейду к test.domain.com, он работает, он берет файл index.html из тестовой папки. Если я перейду на domain.com/test, он все еще работает, но я хочу отключить это. Я хочу перенаправить domain.com/test на test.domain.com, но все равно использую файлы index.html из тестовой папки.

Другое дело, что в файле htacces - перенаправить www на не-www.

Мы ценим любые предложения.

EDIT: Забыл упомянуть, что я попытался добавить эту строку:

RedirectMatch 301 ^/test/(.*)$ http://test.domain.com/$1

Он выполняет перенаправление от domain.com/test до test.domain.com/index.html, но не загружает страницу правильно, я получаю сообщение об ошибке (страница не перенаправляется должным образом).

Теги:
.htaccess
redirect
mod-rewrite

1 ответ

1

как RedirectMatch 301 ^ {ОТНОСИТЕЛЬНЫЙ ПУТЬ} $ {ABSOLUTE_PATH}

  • 0
    Я только что отредактировал вопрос. Я попробовал это, но он перенаправляет URL, но я получаю сообщение об ошибке в браузере.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню