Nginx перенаправлять все запросы, пытаясь добраться до папки

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

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

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

to

somedomain2.com/index.html

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

if ( $request_uri = "/folder/.*" ) {
  rewrite ^/(.*)$  http://domain2.com/embed.html    permanent;
}
27
задан Orlo
13.02.2023 6:59 Количество просмотров материала 3343
Распечатать страницу

1 ответ

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 переменной.

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

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

2
отвечен Bernard Rosset 2023-02-14 14:47

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх