如何配置nginx重定向

问题描述 投票:0回答:2

我已经在Nginx Web服务器中配置了我的域,现在我想将所有请求重定向到主域。

例如:1)http://www.example.com/blogs/articles应该重定向到http://www.example.com

2)http://www.example.com/wp/history应该被重定向到http://www.example.com/products/file

请帮我这样做。

nginx url-rewriting return webserver url-rewrite-module
2个回答
0
投票

我担心这是一种不好的做法。相反,您应该将所有请求发送到PHP文件(或对等方)并从那里重定向。


0
投票

目前尚不清楚你究竟想做什么。我的意思是你的重定向的规律性不明确。

这是一篇文章。也许它会有所帮助。 https://bjornjohansen.no/nginx-redirect

最好不要在服务器配置中进行大量的单重定向,因为它可能非常复杂且不灵活。

同时,“愚蠢”的方式:

使用地图

如果您有一个要以不同方式重定向的URL或正则表达式列表,则应该考虑使用地图,为方便起见,您可以在单独的文件中定义该地图。请注意,映射定义必须位于服务器块之外:

include redirect-map.conf;

server {
    […]
    if ( $redirect_uri ) {
        return 301 $redirect_uri;
    }
}

然后,文件redirect-map.conf可能如下所示:

map $request_uri $redirect_uri {
    /about.html          /about-us;
    /customers.html      /our-customers;
    /products.html       /our-products;
}

请注意以下文档摘录:

© www.soinside.com 2019 - 2024. All rights reserved.