в исключении.

ужно написать правило перезаписи, чтобы перенаправить поддоменов в подпапку.

Пример:subdomain.domain.io следует перенаправить наdomain.io/apps/subdomain, а такжеtest7.domain.io следует перенаправить наdomain.io/apps/test7 и так далее...

в файле .htaccess я могу поймать поддомен с помощью следующего условия:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^[^.]+\.domain\.io$
RewriteRule ?

Но как сделать перенаправление?

Спасибо

Ответы на вопрос(1)

RewriteEngine On

RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{HTTP_HOST} ^(?!www\.)([^.]+)\.domain\.io$ [NC]
RewriteRule ^ apps/%1%{REQUEST_URI} [L]
RewriteCond %{ENV:REDIRECT_STATUS} ^$ используется для предотвращения зацикливания этого правила.%1 обратная ссылка на текст субдомена, захваченный во второмRewriteCond.
 anubhava30 нояб. 2017 г., 20:48
Просто измените второе условие наRewriteCond %{HTTP_HOST} ^(?!app\.|www\.)([^.]+)\.domain\.io$ [NC] добавитьapp. в исключении.
 Simon30 нояб. 2017 г., 20:06
Нет, мне нужно сохранить поддомен. Я изменил скрипт следующим образом: RewriteCond% {ENV: REDIRECT_STATUS} ^ $ RewriteCond% {HTTP_HOST} ^ (?! www \.) ([^.] +) \. Csbuilder \ .io $ [NC] RewriteRule ^ http: //csbuilder.io/apps/%1% {REQUEST_URI} [L], но теперь он перенаправляет на этот URL, как если бы я установил флаг R. У меня есть место после http, чтобы предотвратить размещение ссылки на этом сайте.
 anubhava30 нояб. 2017 г., 20:09
Вы не можете использоватьhttp:// в целевой URL в противном случае он будет перенаправлен. Используйте правило, которое я предложил, т.е.RewriteRule ^ apps/%1%{REQUEST_URI} [L]
 Simon30 нояб. 2017 г., 20:36
Я пропустил указание их на тот же каталог. Поддомен был указан для папки приложений. Теперь работает нормально. Большое спасибо!
 Simon30 нояб. 2017 г., 19:48
Спасибо за ответ. Я столкнулся со следующими проблемами: 1. он делает бесконечный цикл 2. он все еще держит поддомен в перенаправленном хосте. Мне нужно перенаправить test.domain.io на domain.io/apps/test, но он сохраняет поддомен.

Ваш ответ на вопрос