Nginx redireciona para outro diretório, mas página de índice

1

Estou tentando fazer o seguinte redirecionamento nginx

/news/today-xx/index.php (xx will be moving with new page)
/blog/category-xx/today-xx/index.php

para

/article/today-xx/ (xx will be moving with new page)
/article/category-xx/today-xx/

mas ainda deseja acessar as páginas de arquivamento.

/news/index.php and /news/
/blog/index.php and /blog/

Aqui está o que eu tenho até agora

 location ^~ /(news|blog)/(.*) {
    return 301 /article/$1;
 }
    
por Maca 02.01.2018 / 00:53

1 resposta

0

Isso deve ser feito:

location ~ ^/(news|blog)/(.+)/index\.php$ {
    return 301 /article/$1;
}

Adicionei as âncoras inicial e final ( ^ e $ ), escapei da extensão para php ( \. ) e, mais importante, alterei a seção intermediária para (.+) , que captura um ou mais caracteres entre as barras para a variável. Isso significa que o regex não corresponderá aos scripts de arquivo antigos.

    
por 02.01.2018 / 06:43

Tags