debian

如何用Nginx实现URL重写

小樊
36
2025-08-21 03:05:50
栏目: 编程语言

使用Nginx实现URL重写,主要依赖于rewrite指令。以下是一些基本的步骤和示例,帮助你理解如何在Nginx中配置URL重写。

1. 基本语法

rewrite指令的基本语法如下:

rewrite regex replacement [flag];

2. 示例

假设你想将所有以/oldpage开头的URL重写为/newpage,可以这样配置:

server {
    listen 80;
    server_name example.com;

    location / {
        rewrite ^/oldpage(.*)$ /newpage$1 last;
    }
}

在这个例子中:

3. 常用标志

4. 复杂示例

假设你想将所有以/category/开头的URL重写为/products/category/,并且保留查询参数,可以这样配置:

server {
    listen 80;
    server_name example.com;

    location / {
        rewrite ^/category/(.*)$ /products/category/$1 last;
    }
}

如果你想保留查询参数,可以使用$args变量:

server {
    listen 80;
    server_name example.com;

    location / {
        rewrite ^/category/(.*)$ /products/category/$1 last;
    }

    location /products/category/ {
        # 处理重写后的URL
        try_files $uri $uri/ =404;
    }
}

5. 注意事项

通过以上步骤和示例,你应该能够在Nginx中实现基本的URL重写。根据具体需求,可以进一步调整和扩展配置。

0
看了该问题的人还看了