
如何通過調整Nginx的配置文件,實現域名的跳轉?
神馬意思呢?
舉個栗子說明下:
比如你創(chuàng)建了一家公司,公司的網站為:www.plmn785.com;
起初公司用戶不多,你也每太在意這一點,后來你公司發(fā)展速度特別快,用戶數量也爆增;
很多用戶反饋,公司的域名不好系,太長很麻煩;
所以,你打算把公司的域名改為:www.haha.com
把www.plmn785.com這個域名,改為www.haha.com這個域名非常簡單;
問題是,改完之后,老用戶習慣了www.plmn785.com原來的老域名,這個時候怎么辦?
把辛辛苦苦積累起來的老用戶都丟掉嗎?
肯定不行!腫麼辦?
非常簡單,只需要該下配置文件既實現域名的跳轉;
具體操作如下:
第一步、運用 vim ?進入Nginx的配置文件;
vim ? /usr /location /nginx /conf /nginx.conf
server ? ?{
? ? ? ? ? ? listen ? ?80:????
? ? ? ? ? ? server_name ? ?www.plmn785.com; ? ? ? ? ? ?##老域名
? ? ? ? ? ? rewrite ? ?^/ ( .* ) ? ?www.baidu.com/$1; ? ? ? ?##由老域名跳轉至新域名;
? ? ? ? ? ? location ? ?/ ? ?{
? ? ? ? ? ? root ? ?html;
? ? ? ? ? ? index ? ?index.html ? ?index.htm
? ? ? ? ? ? } ? ? ? ?}
譯為:Nginx服務,監(jiān)聽端口為80,原先的服務域名是www.plmn785.com,現在將其改寫為www.baidu.com,以實現每當用戶訪問老域名的時候,系統(tǒng)都會轉跳至新域名;
具體的網頁內容去 /usr /local /nginx /html 目錄里面找;
重點:rewrite ?^/ ( .* ) ? ? www.baidu.com/$1
rewrite ? 重寫的意思;
^/ ( .* ) ? ?正則表達式:意為匹配以根號為開頭,以任意字符數,出現任意次數的域名;
$1 ? ?復制(.*)括號中的內容
翻譯成人話就是:我不管你訪問老域名 ?www.plmn785.com下的任何網頁文件,都跳轉到新域名 www.baidu.com 下對應的網頁文件;
知識拓展:
解釋下列命令語句的意思:
1.rewrite ? ? ?/a.html ? ? ? ? ? ? ? ?/b.html
答:當客戶訪問?/a.html 網頁,系統(tǒng)會跳轉到 /b.html 網頁;
2.rewrite ? ? ?^/ ? ? ? ?www.baidu.com
答:當客戶訪問以 ^/ 開頭的網頁文件,都跳轉到域名 www.baidu.com;
3.rewrite ? ? ^/(.*) ? ?www.baidu.com/$1
答:不管你訪問老域名 ?www.plmn785.com下的任何網頁文件,都跳轉到新域名?www.baidu.com 下對應的網頁文件;
以上.......
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (END)
祝:開心!
羅貴
2019-04-04于深圳