首页
学习
活动
专区
工具
TVP
发布
技术百科首页 >Nginx >如何在Nginx上实现URL重写和重定向?

如何在Nginx上实现URL重写和重定向?

词条归属:Nginx

在Nginx上实现URL重写和重定向,需要在Nginx配置文件中进行相应的配置。以下是一个简单的示例,展示了如何在Nginx上实现URL重写和重定向。

打开Nginx配置文件。通常位于/etc/nginx/nginx.conf或/etc/nginx/sites-available/default。

在配置文件中,添加一个新的server块,如下所示:

代码语言:javascript
复制
http {
    ...
    server {
        listen 80;
        server_name example.com;

        # 配置URL重写
        location /old-url {
            rewrite ^/old-url(/.*)$ $1 break;
            proxy_pass http://backend;
        }

        # 配置URL重定向
        location /redirect {
            return 301 /new-url;
        }

        location / {
            root /var/www/example.com;
            index index.html index.htm;
        }
    }
    ...
}

解释一下上述配置:

  • location /old-url:定义一个URL重写规则,将/old-url重写为/,并将请求代理到后端服务器
  • location /redirect:定义一个URL重定向规则,将/redirect永久重定向到/new-url。

保存配置文件,重启Nginx服务:

代码语言:javascript
复制
sudo systemctl restart nginx

配置完成后,可以通过浏览器访问example.com,看是否能正确访问网站,并且URL重写和重定向生效。

相关文章
如何在Apache Web服务器上重定向URL
当HTTP资源或网页更改位置时,通常重要的是提供某些方法来提醒用户这些资源已移动。 HTTP协议为此提供了多个“重定向”状态代码,用于与客户端应用程序进行通信,而不会影响用户体验。
星哥玩云
2022-08-08
1.7K0
IIS进行URL重写——实现https重定向,文件类型隐藏访问重写,nodejs等服务重写等等
一、Why? 1、先来讲一讲为什么我们要使用url重写这个东西 2、因为我学习的后端是nodejs,然后我发现nodejs一个非常让人难受的事,就是它监听端口不是80和443时,你访问网页需要输入端口
SpiritLing
2018-04-16
11.2K2
如何在Ubuntu 18.04上使用mod_rewrite for Apache重写URL
Apache的mod_rewrite模块允许您以更干净的方式重写URL,将人类可读的路径转换为代码友好的查询字符串。它还允许您根据条件重写URL。
水门
2018-10-19
4.3K0
如何在Debian 8上使用mod_rewrite为Apache重写URL
在本教程中,我们将激活并学习如何使用Apache 2的mod_rewrite块管理URL重写。该模块允许我们以更干净利落的方式重写URL,将人们可读的路径转换为代码友好的查询字符串或根据其他条件重定向URL。
陈树丶
2018-08-09
4.3K0
如何在Debian 9上使用mod_rewrite为Apache重写URL
Apache的mod_rewrite模块允许您以更干净的方式重写URL,将人类可读的路径转换为代码友好的查询字符串。它还允许您根据条件重写URL。
楠宝宝
2018-11-15
4.9K0
点击加载更多
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
领券