当前位置: 首页 > 编程笔记 >

nginx地址重定向的方法

郑高驰
2023-03-14
本文向大家介绍nginx地址重定向的方法,包括了nginx地址重定向的方法的使用技巧和注意事项,需要的朋友参考一下

1、假设要把webroot/static/index.html访问重定向到static/index.html

例如当我们通过浏览器访问http://192.168.11.210/webroot/static/index.html,实际访问的是web目录下面的static/index.html文件,也及去掉了webroot这个目录,使用alias

location ^~ /webroot/ {
 alias /data/www/web/WebContent/;
}

注意:

1. 使用alias时,目录名后面一定要加"/"。

2. alias可以指定任何名称。

3. alias在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用。

4. alias只能位于location块中。[/warning]

http://192.168.11.210/webroot/test/static/index.html

location ^~ /webroot/test/ {
 alias /data/www/web/WebContent/;
}

这样也是可以的,最终访问的文件跟上面是一样的。

2、把对webroot/static/index.html的访问重定向到web目录下面的test目录下

location ~ ^/webroot/ {
 root /data/www/web/WebContent/test/;
}

http://192.168.11.210/webroot/static/index.html 实际访问的是web目录下testwebroot/static/index.html
及使用root一般是把访问目录重定向到某个目录下,但是访问的路径必须在重新定位的目录下

注意区分跟alias的区别

转载一个:

访问域名 

www.adc.com/image  自动跳转到  www.adc.com/make/image 

这个如何写

这种需求有多种方法可以实现:

1. 利用Nginx rewrite 内部跳转实现:

location /image {
     rewrite ^/image/(.*)$   /make/image/$1 last;
}

2.利用alias映射

location /image {
    alias /make/image; #这里写绝对路径
}

3.利用root映射:

location /image {
   root  /make;
}

4.利用nginx的permanent 301绝对跳转实现

location /image {
    rewrite ^/image/(.*)$  http://www.adc.com/make/image/$1;
}

5.判断uri实现

if ( $request_uri ~* ^(/image)){
    rewrite ^/image/(.*)$ /make/image/$1 last; 
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 我只想重定向的人从一个IP地址到一个域。 `apiversion:extensions/v1beta1种类:入口元数据:名称:web-入口注释:kubernetes.io/Ingress.allow-http:“false”nginx.Ingress.kubernetes.io/backend-protocol:“https”规范:tls: 主机: my.page.com秘密名称:tls-秘密规则

  • 问题内容: 如何在不重定向页面的情况下更改URL地址? 例如,当我单击下面的链接时: 我将从链接中获取URL: 如果我在下面这样做,页面将被重定向: 我想做一个类似此站点的操作,当您单击图像时,ajax调用将获取请求的页面,并且窗口上的URL地址也将被更改,因此它具有用于单击的路径。 问题答案: 注意:现在受支持-请参阅其他答案。 您 不能 更改整个URL而无需重定向,您可以做的是更改 hash

  • 问题内容: 我想要任何类似的请求,将301重定向到。 我尝试添加: 问题在于,此重写操作是在根URL上运行的,这将导致无限重定向循环。 编辑: 我需要一个一般的解决方案 应该提供文件 ,应该将301重定向到 应该301重定向到 应该在以下位置提供index.php脚本 基本上,我永远不想在地址栏中显示“ index.php”。我有旧的反向链接,我需要将其重定向到规范网址。 问题答案: 很好的问题,

  • 问题内容: 当用户输入无效的url时,如何使node.js服务器将用户重定向到404.html页面? 我做了一些搜索,看起来大多数结果都是针对Express的,但是我想用纯node.js编写我的服务器。 问题答案: 确定“错误” URL的逻辑特定于您的应用程序。如果您正在执行RESTful应用,则可能是一个简单的文件未找到错误或其他错误。一旦弄清楚了,发送重定向就很简单:

  • 我想问一下HTTP到HTTPS的重定向。正如我们所知,重定向是通过从web服务器端重定向来实现的。但是,当涉及到https重定向时,它可以通过两种方式完成,服务器端()和应用程序端()。我想知道: 以下哪种方法有效且性能更好。 考虑到同一服务器上的多个域和域,每种方法的优缺点 非常感谢。 参考: 将Laravel中的WWW重定向到非WWW-堆栈溢出

  • 本文向大家介绍如何根据PHP中的国家IP地址重定向域?,包括了如何根据PHP中的国家IP地址重定向域?的使用技巧和注意事项,需要的朋友参考一下 GeoIP扩展名可用于查找IP地址的确切位置。除此之外,可以从以下位置下载geoPlugin类: 国家代码列表可以在以下链接中找到- 可以将index.php文件放置在根文件夹中,并将以下代码行放置在该索引文件中- 下载geoplugin类后,将创建一个新