nginx配置完rewrite浏览器提示将您重定向的次数过多的解决方法
目录
- 为什么要给nginx配置rewrite?
- 错误原因
- 解决方案
- 重启nginx服务器
为什么要给nginx配置rewrite?
因为公司要求访问 shidongyun.com的时候浏览器会自动跳转到www.shidong.com下面,专业术语叫“301跳转”百度了一番,nginx配置规则,用rewrite还有return进行重写301跳转。我这里用的是rewrite。

错误原因
在配置网站站点的时候service里面的service_name 规则不正确。错误配置规则如下:
只看service这部分错误的即可。service_name 不能把rewrite即将要重写的域名写进去,这样就造成了死循环了。比如:我要访问"shidongyun.com",利用rewrite在浏览器输入“shidongyun.com”的时候,重写到www.shidongyun.com下面。那么在service_name就不能写www.shidongyun.com这个域名。可以单独写一个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这个要重写的域名。
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,我们看到截图中已经成功的重写过去了。但是访问域名的时候默认找的是网站安装时候的目录。并不是项目目录。解决方案如下:

2,需要配置rewrite重定向到指定的目录或者单独配置一个service虚拟机,然后把需要rewrite重定向的service主机跟域名配置好。配置信息如下:
我们先配置一个service虚拟机,要访问的域名,比如“shidongyun.com”,然后在配置一个service虚拟机,把要rewrite重写的域名放进去,比如:“www.shidong.com”,我们达到的效果就是访问“shidongyun.com”浏览器地址会自动跳转到“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设置项目路径。
}
重启nginx服务器
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”自动跳转到“www.shidongyun.com”下面

上一篇:open3d 通过vscode+ssh连接远程服务器将可视化界面本地显示的问题
栏 目:其它服务器
本文标题:nginx配置完rewrite浏览器提示将您重定向的次数过多的解决方法
本文地址:https://zz.feitang.co/server/29998.html
您可能感兴趣的文章
- 12-20Kubernetes中使用临时容器进行故障排查的方法
- 12-20Nginx设置HTTPS的方法步骤
- 12-20二进制方式安装 Kubernetes1.18.3版本实现脚本
- 12-20Nginx工作模式及代理配置的使用细节
- 12-20ZooKeeper分布式协调服务设计核心概念及安装配置
- 12-20Kubernetes部署可视化地图的十个步骤
- 12-20关于docker清理Overlay2占用磁盘空间的问题(亲测有效)
- 12-20Docker compose配置文件写法及命令使用示例
- 12-20openwrt安装docker并启动的操作方法
- 12-20云原生Kubernetes初始化容器Init使用教程


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07新版Eclipse集成Tomcat时找不到server选项的解决方法
- 12-06IIS7 应用程序池自动回收关闭的解决方案
- 12-05Windows Server 2019安装VMware
- 12-05Windows服务器默认IE浏览器无法下载文件的解决方法
- 12-05Docker安装Jenkins全过程
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法





