У меня есть директива сервера с nginx:
server {
listen 80;
server_name mydomain.net;
root /home/sites/mydomain.net;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /home/sites/mydomain.net$fastcgi_script_name;
fastcgi_index index.php;
}
}
Это отлично работает, когда я захожу на mydomain.net. Но здесь ничего не говорится о применении этого материала, если пользователь пытается www.mydomain.net.
Проведенный мною поиск показывает, что у людей есть совершенно другая директива, слушающая с server_name www.mydomain.net, что кажется .. не очень хорошо. например
server {
listen 80;
server_name www.mydomain.net;
root /home/sites/mydomain.net;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /home/sites/mydomain.net$fastcgi_script_name;
fastcgi_index index.php;
}
}
По сути, удвоение кода конфигурации. Или как-то иначе переписать.
Есть ли меньший способ сделать это?
Вы можете использовать несколько имен в server_name
и даже повторить.
Например, чтобы ответить на три имени хоста, вы можете сделать что-то вроде:
server {
server_name example.com www.example.com;
server_name api.example.com;