? 應(yīng)用場景: 原域名即將不可用,現(xiàn)用新的域名代替
創(chuàng)新互聯(lián)主營吳橋網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,APP應(yīng)用開發(fā),吳橋h5小程序定制開發(fā)搭建,吳橋網(wǎng)站營銷推廣歡迎吳橋等地區(qū)企業(yè)咨詢? 理論結(jié)果: 輸入舊域名,自動跳轉(zhuǎn)到新域名,且其它參數(shù)不變
DNS方向
[root@localhost ~]# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm //yum庫升級
獲取http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
警告:/var/tmp/rpm-tmp.zvmFF2: 頭V4 RSA/SHA1 Signature, 密鑰 ID 7bd9bf62: NOKEY
準(zhǔn)備中... ################################# [100%]
正在升級/安裝...
1:nginx-release-centos-7-0.el7.ngx ################################# [100%]
[root@localhost ~]# yum install nginx -y #安裝nginx服務(wù)
[root@localhost ~]# yum install bind -y
[root@localhost ~]# vim /etc/named.conf
###按照下面進(jìn)行修改
options {
listen-on port 53 { any; }; #監(jiān)聽所有的53端口
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; }; #允許所有通過
[root@localhost ~]# vim /etc/named.rfc1912.zones
####添加如下
zone "test.com" IN {
type master;
file "named.test";
};
[root@localhost ~]# cp -p /var/named/named.localhost /var/named/named.test
[root@localhost ~]# vim /var/named/named.test
#####按照下面進(jìn)行修改
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
www IN A 192.168.142.128
[root@localhost ~]# systemctl start named
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# setenforce 0
Nginx方向
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf
####按下面進(jìn)行更改
server {
listen 80;
server_name www.test.com; #指定域名
charset utf-8; #指定字符集
access_log /var/log/nginx/test.com-access.log main; #指定access日志文件位置
[root@localhost ~]# systemctl start nginx
[root@localhost ~]# netstat -atnp | grep nginx
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4028/nginx: master
此時,能夠?qū)υ蛎M(jìn)行正常的訪問
為了滿足實(shí)驗(yàn)要求,現(xiàn)對新域名添加dns區(qū)域
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf
location / {
####在location后面添加下面兩行
if ($host = 'www.test.com') {
rewrite ^/(.*)$ http://www.yun.com/$1 permanent;
}
[root@localhost ~]# vim /etc/named.rfc1912.zones
###為新域名增添新的dns區(qū)域
zone "yun.com" IN {
type master;
file "named.yun";
};
[root@localhost ~]# cp -p /var/named/named.test /var/named/named.yun
[root@localhost ~]# systemctl restart named
[root@localhost ~]# systemctl restart nginx
實(shí)驗(yàn)成功,成功從舊域名自動跳轉(zhuǎn)到新域名
? 應(yīng)用場景: 網(wǎng)站維護(hù)時僅有個別用戶能夠正常進(jìn)行訪問,其余用戶僅能訪問維護(hù)頁面
? 理論結(jié)果: 一臺客戶機(jī)進(jìn)行訪問時自動進(jìn)行IP比對,按表進(jìn)行分類
DNS方向
? 同Demo 1,不用進(jìn)行改變。
Nginx方向
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf
####按下面進(jìn)行添加
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
set $ip true; #設(shè)定變量為true
if ($remote_addr = "192.168.142.129") { #匹配IP地址為“192.168.142.129”時
set $ip false; #變量變更為false
}
if ($ip = true) { #匹配變量為true時
rewrite ^/(.*)$ /weihu.html; #跳轉(zhuǎn)網(wǎng)頁到維護(hù)頁面
}
location = /weihu.html { #匹配到維護(hù)頁面時
root /usr/share/nginx/html; #指定網(wǎng)頁站點(diǎn)
}
[root@localhost ~]# systemctl restart nginx
此時,根據(jù)不同的ip地址,將會瀏覽到不同的頁面(正常頁面/維護(hù)頁面)
? 應(yīng)用場景: 將域名http://bbs.test.com下面的發(fā)帖都跳轉(zhuǎn)到 http://www.test.com/bbs,且域名跳轉(zhuǎn)后保持參數(shù) 不變
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf
###按照下面進(jìn)行修改,在location段下面添加
location /new {
# if ($request_uri ~* ^/new) {
rewrite /?(.*) http://www.test.com/bbs/$1 permanent;
}
[root@localhost ~]# systemctl restart nginx
? 應(yīng)用場景: 用戶在輸入域名后,誤輸入了全為數(shù)字的錯誤頁面,應(yīng)用后將自動跳轉(zhuǎn)回指定頁面
? 理論結(jié)果: 基于正則表達(dá)式的選擇
DNS方向
? 同上面所有,無需進(jìn)行更改
Nginx方向
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf
###按照下面進(jìn)行修改,在location段下面添加
if ($request_uri ~* ^/(\d*).html$) { #匹配以所有數(shù)字結(jié)尾的html文件
rewrite (.*) http://www.test.com permanent; #匹配零字或多字跳轉(zhuǎn)到網(wǎng)站主頁
}
[root@localhost ~]# systemctl restart nginx
此時,在域名后添加一段數(shù)字組成的html網(wǎng)頁將自動跳轉(zhuǎn)回主頁。例:http://www.test.com/123456.html
→http://www.test.com/
基于PHP文件
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf
###按照下面進(jìn)行修改
##location段后添加
location ~* /upload/(.+)\.php$ { #基于全部php文件
rewrite (.*) http://www.test.com permanent;
}
[root@localhost ~]# systemctl restart nginx
沒啥可說的,以php的文件均會自動跳轉(zhuǎn)回首頁
基于具體html頁面
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf
###按照下面進(jìn)行修改
##location段后添加
location ~* /test.html$ { #基于具體的html網(wǎng)頁
rewrite (.*) http://www.test.com permanent;
}
[root@localhost ~]# systemctl restart nginx
同上,訪問某個具體網(wǎng)頁文件就會跳轉(zhuǎn)回首頁
基于任意的html頁面
[root@localhost ~]# vim /etc/nginx/conf.d/default.conf
###按照下面進(jìn)行修改
##location /后面添加
if ($request_uri ~* ^/new/(.+)\.html$) { #匹配到任意html頁面
rewrite (.*) http://www.test.com permanent; #跳轉(zhuǎn)到首頁
}
[root@localhost ~]# systemctl restart nginx
此時,訪問任意的html格式的網(wǎng)頁將自動跳轉(zhuǎn)到首頁
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。