Я пытаюсь перенаправить каждую папку с 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, но не загружает страницу правильно, я получаю сообщение об ошибке (страница не перенаправляется должным образом).
как RedirectMatch 301 ^ {ОТНОСИТЕЛЬНЫЙ ПУТЬ} $ {ABSOLUTE_PATH}