У меня есть приложение: назовем его Микки.
Чтобы получить доступ к приложению, я настроил vhost
в apache, так что при доступе к домену третьего уровня mickey .example.com обслуживается приложение Mickey.
Это работает.
И это его конфигурация:
<VirtualHost *:80>
ServerName mickey.example.com
# ServerAlias Not required
ServerAdmin my@email.com
DocumentRoot /var/www/mickey.example.com/public_html
ErrorLog /var/www/mickey.example.com/log/error.log
CustomLog /var/www/mickey.example.com/log/access.log combined
<Directory /var/www/mickey.example.com>
AllowOverride All
</Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =mickey.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
Теперь я хочу настроить другой домен: mickey.example2.com
Конечный результат должен быть что приложение Mickey должно обслуживаться при доступе с mickey.example.com и при доступе с mickey.example2.com.
Итак, в основном у меня:
CNAME
В качестве первой попытки я просто добавил новую запись DNS в домен example2.com который указывает на mickey.example.com:
DNS для домена example2.com:[12218 visibleType: CNAME
Это не сработало : после распространения DNS, когда я обращался к домену mickey.example.com, сервер перенаправил меня на домен по умолчанию, настроенный в Apache (то есть, скажем, defaultexample.com)
Поскольку я не сразу указал, что это был сервер, перенаправлен на defaultexample.com, я изменил DNS-запись с CNAME на A
:
DNS для домена example2.com:[12225 impressionType: A
Где 123.456.789.012 - это IP-адрес сервера, который обслуживает приложение Микки.
Это не сработало: сервер продолжал перенаправлять меня на defaultexample.com.
При этом Я догадался, что это сервер, который меня перенаправил, поэтому я начал копаться в конфигурации Vhost (оставив запись DNS как A
, и это A
, пока я написание этого вопроса).
ServerAlias
в Apache В качестве первой попытки я попытался добавить ServerAlias
к виртуальному хосту [1112 4040], который обслуживает mickey.example.com:
<VirtualHost *:80>
ServerName mickey.example.com
+ ServerAlias mickey.example2.com
ServerAdmin mu@email.com
DocumentRoot /var/www/mickey.example.com/public_html
ErrorLog /var/www/mickey.example.com/log/error.log
CustomLog /var/www/mickey.example.com/log/access.log combined
<Directory /var/www/mickey.example.com>
AllowOverride All
</Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =mickey.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
Это не сработало: Apache продолжает перенаправлять меня на defaultdomain.com.
vhost
На этом этапе я создал выделенный vhost
назвав его mickey.example2.com.conf
:
<VirtualHost *:80>
- ServerName mickey.example.com
+ ServerName mickey.example2.com
DocumentRoot /var/www/mickey.example.com/public_html
ErrorLog /var/www/mickey.example.com/log/error.log
CustomLog /var/www/mickey.example.com/log/access.log combined
<Directory /var/www/mickey.example.com>
AllowOverride All
</Directory>
RewriteEngine on
- RewriteCond %{SERVER_NAME} =mickey.example.com
+ RewriteCond %{SERVER_NAME} =mickey.example2.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
Затем я включил новый vhost
в Apache и перезагрузил его:
sudo a2ensite mickey.example2.com.conf
sudo systemctl reload apache2
Ничего: доступ к mickey.example2.com продолжает перенаправлять меня на defaultdomain.com
На данный момент я не знаю, что делать дальше: я перепробовал все, что, по моему мнению, должно было сработать, но это нет.
Есть предложения?
Как было сказано, мне нужно использовать одно и то же приложение из mickey.example.com и с mickey.example2.com.
Есть идеи, как это сделать?