首页 > 代码库 > 多域名Nginx配置
多域名Nginx配置
例如有两个域名,指向同一个服务器IP
www.domain1.com
www.domain2.com
我建立两个目录, 存放网站文件
/var/www/domain1.com/public
/var/www/domain2.com/public
nginx配置文件为:
server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; server_name ~^(www\.)?(.+)$; set $domain $2; root /var/www/$domain/public; index index.php index.html index.htm; if ($host = domain1.com){ rewrite ^ http://www.domain1.com permanent; } if ($host = domain2.com){ rewrite ^ http://www.domain2.com permanent; } location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { try_files $uri /index.php =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~* \.(gif|jpg|jpeg|mp4|mp3|wav|ogg|flv)$ { expires 30d; valid_referers *.domain1.com *.domain2.com ~\.baidu\.com; if ($invalid_referer) { rewrite ^/ http://domain1.com; #return 404; } } }
注意:
set $domain $2; root /var/www/$domain/public;
不能直接用
root /var/www/$2/public;
不然
location ~ \.php$
会解析错误
如果在一个server块中为一个站点配置多个二级域名
配置如下:
server { listen 80; server_name ~^(.+)?\.domain\.com$; index index.html;
# 将domain.com 重定向到 www.domain.com if ($host = domain.com){ rewrite ^ http://www.domain.com permanent; } root /data/wwwsite/domain.com/$1/; }
站点目录结构如下:
/data/wwwsite/domain.com/www/ /data/wwwsite/domain.com/nginx/
多域名Nginx配置
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。