個性二級域名
配置下個性化二級域名.
效果:
訪問的URL http://custom.vevb.com
實際的URL http://www.49028c.com/auth/custom
我們的做法就是通過服務器配置,將訪問的url轉換為實際的url
下面我們來用nginx配置。配置如下:
server { listen 80; server_name *.vevb.com; if ( $host ~* (/b(?!www/b)/w+)/./w+/./w+ ) { set $subdomain $1; } location / { rewrite ^/$ /auth/$subdomain last; proxy_pass http://www.49028c.com/; } }
其中的if,是用于過濾某些特殊的二級域名,比如www,然后獲取二級域名的變量值。
rewrite轉化為對應的目錄
rewrite ^/$ /auth/$subdomain last;
再加上nginx的反向代理功能:
proxy_pass http://www.49028c.com/;
就可以實現了。
這樣配置之后,除了if中過濾的二級域名,其他的二級域名{sudomain}.vevb.com,對于服務器,其真實的路徑都是www.49028c.com/auth/{sudomain}。
如果url有多種路徑規則,則需要一一進行配置。
多域名配置
nginx綁定多個域名可又把多個域名規則寫一個配置文件里,也可又分別建立多個域名配置文件,我一般為了管理方便,每個域名建一個文件,有些同類域名也可又寫在一個總的配置文件里。
一、每個域名一個文件的寫法
首先打開nginx域名配置文件存放目錄:/usr/local/nginx/conf/servers ,如要綁定域名www.49028c.com 則在此目錄建一個文件:www.your-domain.conf然后在此文件中寫規則,如:server
{listen80;server_namewww.49028c.com; #綁定域名index index.htm index.html index.php; #默認文件root /home/www/vevb.com; #網站根目錄include location.conf; #調用其他規則,也可去除}
然后重起nginx服務器,域名就綁定成功了nginx服務器重起命令:/etc/init.d/nginx restart
二、一個文件多個域名的寫法
一個文件添加多個域名的規則也是一樣,只要把上面單個域名重復寫下來就ok了,如:server
{listen80;server_namebbs.vevb.com; #綁定域名index index.htm index.html index.php; #默認文件root /home/www/bbs.vevb.com; #bbs目錄include location.conf; #調用其他規則,也可去除}server{listen80;server_namewww.49028c.com; #綁定域名index index.htm index.html index.php; #默認文件root /home/www/www.49028c.com; #網站根目錄include location.conf; #調用其他規則,也可去除}
三、不帶www的域名加301跳轉
如果不帶www的域名要加301跳轉,那也是和綁定域名一樣,先綁定不帶www的域名,只是不用寫網站目錄,而是進行301跳轉,如:
server{listen80;server_namevevb.com;rewrite ^/(.*) http://www.49028c.com/$1 permanent;}
四、添加404網頁
添加404網頁,都可又直接在里面添加,如:
server{listen80;server_name www.49028c.com; #綁定域名index index.htm index.html index.php; #默認文件root /home/www/vevb.com; #網站根目錄include location.conf; #調用其他規則,也可去除error_page404/404.html;}
學會上面四種規則方法,基本就可以自己獨立解決nginx 多域名配置問題了