Как настроить редирект поддоменов на адрес без index.php?

Как можно настроить редирект для всех поддоменов корневого домена, чтобы он работал так же, как для самого корневого домена?
  • 1 марта 2024 г. 4:19
Ответы на вопрос 1
Для настройки редиректа поддоменов на адрес без index.php вам необходимо отредактировать файл .htaccess в корневой директории вашего сайта. Вот пример кода, который вы можете использовать:

```
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/$1 [L]

Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^subdomain.yourdomain.com [NC]
RewriteRule ^(.*)$ http://yourdomain.com/subdomain/$1 [L,R=301]
```

Этот код выполнит следующее:

1. Проверка наличия файла или директории и, если их нет, перенаправление запросов на index.php.
2. Перенаправление всех запросов с поддомена subdomain.yourdomain.com на http://yourdomain.com/subdomain/ без index.php.

Чтобы настроить редирект для всех поддоменов корневого домена, вы можете использовать следующий код:

```
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.yourdomain\.com
RewriteCond %{HTTP_HOST} ^([^.]+)\.yourdomain\.com$ [NC]
RewriteRule ^(.*)$ http://yourdomain.com/%1/$1 [L,R=301]
```

Этот код выполнит следующее:

1. Проверка, что запрос не идет на www.yourdomain.com.
2. Извлечение поддомена из HTTP_HOST.
3. Перенаправление запросов с любого поддомена yourdomain.com на http://yourdomain.com/поддомен/ без index.php.

Помните, что для корректной работы этих правил вам может потребоваться внести изменения в соответствующие настройки сервера. Не забудьте также сделать резервную копию своего .htaccess файла перед внесением изменений.
Похожие вопросы