nginx配置完rewrite瀏覽器提示將您重定向的次數(shù)過(guò)多的解決方法
為什么要給nginx配置rewrite?
因?yàn)楣疽笤L問(wèn) shidongyun.com的時(shí)候?yàn)g覽器會(huì)自動(dòng)跳轉(zhuǎn)到www.shidong.com下面,專業(yè)術(shù)語(yǔ)叫“301跳轉(zhuǎn)”百度了一番,nginx配置規(guī)則,用rewrite還有return進(jìn)行重寫301跳轉(zhuǎn)。我這里用的是rewrite。

錯(cuò)誤原因
在配置網(wǎng)站站點(diǎn)的時(shí)候service里面的service_name 規(guī)則不正確。錯(cuò)誤配置規(guī)則如下:
只看service這部分錯(cuò)誤的即可。service_name 不能把rewrite即將要重寫的域名寫進(jìn)去,這樣就造成了死循環(huán)了。比如:我要訪問(wèn)"shidongyun.com",利用rewrite在瀏覽器輸入“shidongyun.com”的時(shí)候,重寫到www.shidongyun.com下面。那么在service_name就不能寫www.shidongyun.com這個(gè)域名。可以單獨(dú)寫一個(gè)service,也可以不用寫。直接這樣寫:rewrite ^/(.*) http://www.shidongyun.com/$1 permanent;。
server {
listen 80;
server_name www.shidongyun.com shidongyun.com;
#charset koi8-r;
#access_log logs/host.access.log main;
root "/data/wwwroot/shidong";
location / {
rewrite ^/(.*) http://www.shidongyun.com/$1 permanent;
index index.html index.htm index.php l.php;
try_files $uri $uri/ /index.php?$query_string;
autoindex off;
}解決方案
1,把service下面的service_name 做正確的修改,刪除www.shidongyun.com這個(gè)要重寫的域名。
server {
listen 80;
server_name shidongyun.com;
#charset koi8-r;
#access_log logs/host.access.log main;
root "/data/wwwroot/shidong";
location / {
rewrite ^/(.*) http://www.shidongyun.com/$1 permanent;
index index.html index.htm index.php l.php;
try_files $uri $uri/ /index.php?$query_string;
autoindex off;
}在次在瀏覽器訪問(wèn):shidongyun.com,我們看到截圖中已經(jīng)成功的重寫過(guò)去了。但是訪問(wèn)域名的時(shí)候默認(rèn)找的是網(wǎng)站安裝時(shí)候的目錄。并不是項(xiàng)目目錄。解決方案如下:

2,需要配置rewrite重定向到指定的目錄或者單獨(dú)配置一個(gè)service虛擬機(jī),然后把需要rewrite重定向的service主機(jī)跟域名配置好。配置信息如下:
我們先配置一個(gè)service虛擬機(jī),要訪問(wèn)的域名,比如“shidongyun.com”,然后在配置一個(gè)service虛擬機(jī),把要rewrite重寫的域名放進(jìn)去,比如:“www.shidong.com”,我們達(dá)到的效果就是訪問(wèn)“shidongyun.com”瀏覽器地址會(huì)自動(dòng)跳轉(zhuǎn)到“www.shidongyun,com”下面。


示例代碼如下:
server {
listen 80;
server_name shidongyun.com;
#charset koi8-r;
#access_log logs/host.access.log main;
root "/data/wwwroot/shidong";
location / {
index index.html index.htm index.php l.php;
rewrite ^/(.*) http://www.shidongyun.com/$1 permanent;
try_files $uri $uri/ /index.php?$query_string;
autoindex off;
}
省略多余的部分.....只需要看rewrite跟service_name即可
}
server {
listen 80;
server_name www.shidongyun.com;
#charset koi8-r;
#access_log logs/host.access.log main;
root "/data/wwwroot/shidong";
location / {
index index.html index.htm index.php l.php;
try_files $uri $uri/ /index.php?$query_string;
autoindex off;
}
省略多余的部分.....只需要看service_name即可。root設(shè)置項(xiàng)目路徑。
}重啟nginx服務(wù)器
1, /etc/init.d/nginx restart
[root@iZm5e8nyz28v9zr7lhb7moZ ~]# /etc/init.d/nginx restart nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful Stopping nginx: [ OK ] Starting nginx: [ OK ] [root@iZm5e8nyz28v9zr7lhb7moZ ~]#
2,瀏覽器輸入“shidongyun.com”自動(dòng)跳轉(zhuǎn)到“www.shidongyun.com”下面

到此這篇關(guān)于nginx配置完rewrite瀏覽器提示將您重定向的次數(shù)過(guò)多的解決方法的文章就介紹到這了,更多相關(guān)nginx rewrite重定向內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一文了解nginx HTTP安全響應(yīng)問(wèn)題
一些網(wǎng)站系統(tǒng)會(huì)經(jīng)常遭到各類XSS攻擊、點(diǎn)劫持等,從而造成重要信息的泄露以及服務(wù)器安全問(wèn)題,本文就來(lái)介紹一下,感興趣的可以了解一下2023-11-11
Nginx?CertBot配置HTTPS泛域名證書Debian及常見問(wèn)題
這篇文章主要介紹了Nginx?CertBot配置HTTPS泛域名證書Debian及常見問(wèn)題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11
Nginx設(shè)置Access-Control-Allow-Origin多域名跨域?qū)崿F(xiàn)
本文主要介紹了Nginx設(shè)置Access-Control-Allow-Origin多域名跨域?qū)崿F(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-11-11
基于紅帽redhat環(huán)境下配置Nginx Web服務(wù)器
本文詳細(xì)介紹了在RedHat10系統(tǒng)上使用Nginx搭建基于不同IP、端口和主機(jī)名的Web服務(wù)器,并配置基于HTTPS的加密站點(diǎn),具有一定的參考價(jià)值,感興趣的可以了解一下2026-04-04
nginx+lua+redis 灰度發(fā)布實(shí)現(xiàn)方案
在微服務(wù)化進(jìn)程中,利用nginx+lua+redis實(shí)現(xiàn)灰度發(fā)布至關(guān)重要,,通過(guò)nginx+lua反向代理,根據(jù)客戶端ip進(jìn)行路由控制,配合redis存儲(chǔ)允許訪問(wèn)微服務(wù)的ip地址,可以有效地進(jìn)行用戶分流,感興趣的可以了解一下2024-10-10
安裝配置php-fpm來(lái)搭建Nginx+PHP的生產(chǎn)環(huán)境
這篇文章主要介紹了安裝配置php-fpm來(lái)搭建Nginx+PHP的生產(chǎn)環(huán)境的方法,php-fpm的作用是將FastCGI進(jìn)程管理整合進(jìn)PHP包,需要的朋友可以參考下2016-01-01
nginx報(bào)錯(cuò):[emerg] getpwnam(“www“)failed問(wèn)題及解決
這篇文章主要介紹了nginx報(bào)錯(cuò):[emerg] getpwnam(“www“)failed問(wèn)題及解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03

