Nginxを使用して、同じサーバーで2つの異なるドメインをホストしたいと思います。 @プロパティを介して両方のドメインをこのホストにリダイレクトしました。 2つの異なるサーバーブロックを構成していますが、2番目のドメインにアクセスしようとすると、最初のドメインにリダイレクトされます。
これが私の設定です。
server {
listen www.domain1.com:80;
access_log /var/log/nginx/Host.domain1.access.log main;
root /var/www/domain1;
server_name www.domain1.com;
location ~ \.php$ {
# Security: must set cgi.fixpathinfo to 0 in php.ini!
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include /etc/nginx/fastcgi_params;
}
}
server {
listen www.domain2.com:80;
access_log /var/log/nginx/Host.domain2.access.log main;
root /var/www/domain2;
server_name www.domain2.com;
location ~ \.php$ {
# Security: must set cgi.fixpathinfo to 0 in php.ini!
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include /etc/nginx/fastcgi_params;
}
}
どうすれば修正できますか?ありがとう。
「リッスン」ディレクティブが間違っています。このページを参照してください: http://nginx.org/en/docs/http/server_names.html 。
彼らはする必要があります
server {
listen 80;
server_name www.domain1.com;
root /var/www/domain1;
}
server {
listen 80;
server_name www.domain2.com;
root /var/www/domain2;
}
注、関連する行のみを含めました。他のすべては大丈夫に見えましたが、わかりやすくするために削除しました。テストするには、実際にphpを提供する前に、まず各サーバーからテキストファイルを提供してみてください。だから私はそこに「ルート」ディレクティブを残しました。