Nginx   发布时间:2022-05-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了nginx返回301 /重定向大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

在所有’Nginx中的重定向’问题中,我找不到如何使用regexp重定向(使用return 301和更好的no ifs).@H_616_2@

我有一个链接到我的网站,我想删除参数结束:@H_616_2@

domain.com/article/some-sluggish-link/?report=1        #number at end

正则表达式找到这个:@H_616_2@

\?report=\d*$

为此我想要301重定向到:@H_616_2@

domain.com/article/some-sluggish-link/

我Nginx.conf我有3个重定向:@H_616_2@

server {        
    listen 80;      
    server_name subdomain.example.com.; #just one subdomain 
    }

server {
    listen 80;
    server_name  *.example.com;         
    return 301 http://example.com$request_uri;
    }

server {
    listen 80;
    server_name  example.com;
    }

它有效;它将所有www.,ww.,aaa.和每个子域(除了1个特定域名)重定向到主domain.com@H_616_2@

我很感激任何帮助
干杯!@H_616_2@

编辑25/03/2015@H_616_2@

我的conf文件中已经有“LOCATIOn /”:@H_616_2@

LOCATIOn / {  
    uwsgi_pass unix://opt/run/ps2.sock;  
    include uwsgi_params;  
    }

它重定向到一些django应用程序.在应用’if’子句后,它给了我无限循环!@H_616_2@

我的问题基本上是搜索引擎优化,这意味着谷歌索引某些特定页面(带有’?report =’参数的页面),这些页面是没有此尾随参数的网址副本.@H_616_2@

我希望googlebot停止使用robots.txt建立索引,但问题是您无法在此文件中使用正则表达式.此外,我不能说哪个网址完全是nedd重定向或停止索引因为它以某种方式随机发生…@H_616_2@@H_673_51@

最佳答案@H_673_51@
我自己没试过,但它应该有效.在服务器{}块中添加:

LOCATIOn / {
    if ($args !~ ^$) {
        rewrite ^ $request_uri? peRMANent;
    }
}

这个块实际上做了什么:@H_616_2@

LOCATIOn /告诉Nginx将这些指令应用于与根目录和子目录匹配的所有请求.@H_616_2@

if($args!〜^ $)检查URI是否包含带正则表达式的任何查询参数.@H_616_2@

重写^ $request_uri?常驻;无需任何查询参数即可重定向到所需的URI.的?在$request_uri的末尾告诉Nginx从重定向URL中剥离查询参数.@H_616_2@@H_673_51@

大佬总结

以上是大佬教程为你收集整理的nginx返回301 /重定向全部内容,希望文章能够帮你解决nginx返回301 /重定向所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: