Как исправить перенаправления в nginx после косой черты в конце URL - PullRequest
0 голосов
/ 27 мая 2019

Мы меняем наш веб-сайт с example.se на example.com, а также меняем несколько категорий с шведского на английский, поэтому мне нужно указать старые URL-адреса на новые с новыми именами.

Я пытаюсьперенаправить example.se/something на example.com/anything-else

Мне удалось выполнить перенаправление с example.se> example.com, но всякий раз, когда я пытаюсь перейти на example.com/something>example.com/anything-else Я получаю 404.

Вот конфиг nginx:

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 голосов
/ 27 мая 2019

Во втором перенаправлении вы должны указать доменное имя: rewrite ^/something/$ http://example.com/anything-else/ permanent вместо rewrite ^/something/$ /anything-else/ permanent

Или вы можете использовать , если :

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