Как с помощью файла .htaccess настроить отображение страницы основного домена при открытии поддомена?

Как можно настроить перенаправление всех поддоменов *.example.com (за исключением www) на основной домен, с указанием определенной ссылки example.com/pages/subdomain.php?t=*?
  • 22 сентября 2024 г. 9:23
Ответы на вопрос 1
Для того чтобы настроить отображение страницы основного домена при открытии поддомена, а также для перенаправления всех поддоменов на определённый URL на основном домене, вы можете использовать файл `.htaccess` с соответствующими правилами. 

Вот пример того, как можно это сделать:

1. Откройте или создайте файл `.htaccess` в корневом каталоге вашего сайта.

2. Добавьте следующие правила:

```apache
RewriteEngine On 

# Перенаправление всех поддоменов, кроме www
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+)\.example\.com$ [NC]
RewriteRule ^(.*)$ https://example.com/pages/subdomain.php?t=%1 [L,R=301]
```

### Пояснение:

- `RewriteEngine On` — включает модуль перезаписи URL (mod_rewrite).
  
- `RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]` — условие, которое проверяет, что запрашиваемый хост не является `www.example.com`.

- `RewriteCond %{HTTP_HOST} ^([a-z0-9-]+)\.example\.com$ [NC]` — второе условие, которое проверяет, что хост является поддоменом (может состоять из букв, цифр и дефисов).

- `RewriteRule ^(.*)$ https://example.com/pages/subdomain.php?t=%1 [L,R=301]` — правило перенаправления, которое отправляет пользователя на `https://example.com/pages/subdomain.php?t=*`, где `*` — это имя поддомена, которое захватывается группой `(%1)` из предыдущего условия. Флаг `R=301` указывает, что это постоянное перенаправление (HTTP статус 301).

### Примечания:

- Убедитесь, что модуль `mod_rewrite` включен на вашем сервере.
  
- Замените `example.com` на ваш фактический домен.

- Если у вас есть другие правила в файле `.htaccess`, убедитесь, что новые правила не конфликтуют с ними.

- После внесения изменений проверьте перенаправление, чтобы убедиться, что всё работает корректно.
Похожие вопросы