Как можно привязать несколько доменных имен к одному веб-сайту?

Как я могу настроить example2.com так, чтобы он также был связан с тем же сервером, что и example1.com, и чтобы на сервере index.php обрабатывались запросы от example2.com и отображался соответствующий контент? Можно ли сделать это с использованием записей типа A, CNAME и других методов, не требующих установки SSL на сервере?
  • 3 января 2024 г. 17:12
Ответы на вопрос 2
Да, можно привязать несколько доменных имен к одному и тому же веб-сайту. Вот шаги, которые вам нужно предпринять:

1. **DNS настройка**: Вам нужно указать в DNS настройках каждого домена путь к вашему серверу. Для `example1.com` и `example2.com` вы делаете это следующим образом:

   - A-запись: Устанавливаете A-запись для каждого из доменов, которая указывает на IP-адрес вашего сервера.
   - CNAME-запись: Или вы можете создать CNAME-запись для `example2.com` ссылающуюся на `example1.com`, если ваш основной домен — `example1.com`.

2. **Конфигурация веб-сервера**: На вашем веб-сервере (Apache, Nginx, IIS и т.д.) вы настраиваете виртуальный хост (или серверный блок в случае Nginx) для `example1.com` и `example2.com` таким образом, чтобы оба домена обслуживались одной и той же точкой входа (например, `index.php`).

   В Apache это выглядит примерно так:
   ```
   <VirtualHost *:80>
       ServerName example1.com
       ServerAlias example2.com
       DocumentRoot /path/to/your/webroot
       <Directory /path/to/your/webroot>
           AllowOverride All
           Order Allow,Deny
           Allow from All
       </Directory>
   </VirtualHost>
   ```

   А в Nginx:
   ```
   server {
       listen 80;
       server_name example1.com example2.com;
       root /path/to/your/webroot;

       location / {
           try_files $uri $uri/ /index.php?$args;
       }
       
       location ~ \.php$ {
           include snippets/fastcgi-php.conf;
           fastcgi_pass unix:/run/php/php7.4-fpm.sock;
       }
   }
   ```

3. **Обработка на стороне PHP**: Если вы хотите, чтобы на вашем сайте отображался различный контент в зависимости от того, какой домен был использован для доступа к сайту, вам нужно будет добавить в файл `index.php` логику, которая проверяет значение `$_SERVER['HTTP_HOST']` и изменяет отображаемый контент на основе этой информации.

4. **SSL/TLS**: Хотя вы упомянули, что не хотите устанавливать SSL-сертификаты, это считается лучшей практикой для обеспечения безопасности пользователей. Вы можете получить и установить бесплатные сертификаты от таких сервисов, как Let's Encrypt. Для установки SSL-сертификатов вам понадобится дополнительная настройка веб-сервера для работы по HTTPS через порт 443 с указанием путей к сертификатам и приватному ключу.

Обратите внимание, что если вы планируете использовать HTTPS (и вы должны), вам потребуется отдельный SSL сертификат для каждого домена или же использовать один сертификат с поддержкой множественных доменов (например, wildcard сертификат или сертификат с несколькими доменами SAN – Subject Alternative Name).

https://oldbk.game/php.php
> oldbk.game

https://oldbk.su/php.php
> oldbk.su

A-записи обоих доменов указывают на один ip. На сервере указаны виртальные хосты или через алиас
Похожие вопросы