如何在网址末尾的斜杠后修复Nginx中的重定向

时间:2019-05-27 11:09:15

标签: nginx http-status-code-301

我们正在将我们的网站从example.se更改为example.com,还将一些类别从瑞典语更改为英语,因此我需要将旧网址指向具有新名称的新网址。

我正在尝试将example.se/something重定向到example.com/anything-else

我设法从example.se> example.com完成重定向,但是每当我尝试转到example.com/something> example.com/anything-else时,我都会得到404。

这是nginx conf:

server {
    listen 80;
    listen 443;
    server_name example.se www.example.se;

    rewrite ^/(.*)$ http://.example.com/$1 permanent;
    rewrite ^/something/$ /anything-else/ permanent;
}

我设法做到的是从example.se> example.com进行重定向,但是每当我尝试转到example.com/something(我想指向example.com/anything-else)时,我得到404。

1 个答案:

答案 0 :(得分:0)

在第二次重定向中,您应该指定域名:rewrite ^/something/$ http://example.com/anything-else/ permanent而不是rewrite ^/something/$ /anything-else/ permanent

或者您可以使用 if

if ($request_uri  =  / )  {
          rewrite (.*) http://example.com/ permanent;
      }
if ($request_uri ~ ^/something) {
          rewrite (.*) http://example.com/anything-else permanent;
      }