Как я могу перенаправить все запросы, пытаясь добраться до папки?

например, я хотел бы перенаправить:

somedomain.com/folder/subfolder/index.html
somedomain.com/folder/subfolder2/something.html
somedomain.com/folder/subfolder3/somethingelse.html

в

somedomain2.com/index.html

что я пробовал:

if ( $request_uri = "/folder/.*" ) {
  rewrite ^/(.*)$  http://domain2.com/embed.html    permanent;
}

1 ответ1

2
server {
    server_name somedomain.com;

    location /folder/ {
        return 301 $scheme://somedomain2.com;
    }
}

server {
    server_name somedomain2.com;

    location / {
        #index index.html; # You could wish to add that, if index default value does not suits your needs
    }
}

Это создаст постоянное перенаправление для любого запроса /folder /*.

Я взял на себя смелость подражать схеме, используемой с somedomain для somedomain2 с переменной $scheme circuit.

Я не заставил /index.html URI в перенаправлении. Вы можете сделать это. Я также полагался на значение по умолчанию директивы index , которая, возможно, не подходит вам.

Если вы хотите прозрачно обрабатывать контент с другого сервера, вы можете использовать proxy_pass для передачи запроса на него.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .