nginx配置完rewrite瀏覽器提示將您重定向的次數(shù)過多的解決方法
為什么要給nginx配置rewrite?
因?yàn)楣疽笤L問 shidongyun.com的時(shí)候?yàn)g覽器會(huì)自動(dòng)跳轉(zhuǎn)到www.shidong.com下面,專業(yè)術(shù)語叫“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)了。比如:我要訪問"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; }
在次在瀏覽器訪問:shidongyun.com,我們看到截圖中已經(jīng)成功的重寫過去了。但是訪問域名的時(shí)候默認(rèn)找的是網(wǎng)站安裝時(shí)候的目錄。并不是項(xiàng)目目錄。解決方案如下:
2,需要配置rewrite重定向到指定的目錄或者單獨(dú)配置一個(gè)service虛擬機(jī),然后把需要rewrite重定向的service主機(jī)跟域名配置好。配置信息如下:
我們先配置一個(gè)service虛擬機(jī),要訪問的域名,比如“shidongyun.com”,然后在配置一個(gè)service虛擬機(jī),把要rewrite重寫的域名放進(jìn)去,比如:“www.shidong.com”,我們達(dá)到的效果就是訪問“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ān)nginx rewrite重定向內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用Nginx搭建圖片服務(wù)器(windows環(huán)境下)
這篇文章主要介紹了使用Nginx搭建圖片服務(wù)器(windows環(huán)境下),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-06-06nginx的配置轉(zhuǎn)發(fā)到其他網(wǎng)站詳解
這篇文章主要為大家介紹了nginx的配置轉(zhuǎn)發(fā)到其他網(wǎng)站過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08nginx外網(wǎng)訪問內(nèi)網(wǎng)站點(diǎn)配置操作
這篇文章主要介紹了nginx外網(wǎng)訪問內(nèi)網(wǎng)站點(diǎn)配置操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08Nginx實(shí)現(xiàn)三種常見的虛擬主機(jī)配置方法
Nginx 是一款高性能的 Web 服務(wù)器,支持多種虛擬主機(jī)配置方式,能夠根據(jù)域名、IP 或端口區(qū)分不同的站點(diǎn),這種靈活性讓 Nginx 成為搭建多站點(diǎn)服務(wù)的首選工具,本文將帶你一步步實(shí)現(xiàn)三種常見的虛擬主機(jī)配置方法,需要的朋友可以參考下2025-03-03詳解nginx高并發(fā)場(chǎng)景下的優(yōu)化
這篇文章主要介紹了詳解nginx高并發(fā)場(chǎng)景下的優(yōu)化,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09